利用非遞迴演算法來搜尋二叉樹中的某個元素java
層序遍歷
可以利用層序遍歷來解決這個問題
程式碼
boolean searchUsingLevelOrder(BinaryTreeNode root,int data){
BinaryTreeNode temp;
LLQueue q = new LLQueue();
if(root == null)
return false;
q.enqueue(root);
while(q.isNotEmpty()){
temp = q.deQueue();
if(data == root.getData())
return true;
if(temp.getLeft() != null)
q.enqueue(temp.getLeft());
if(temp.getRight() != null)
q.enqueue(temp.getRight());
}
q.deleteQueue();
return false;
}
相關文章
- 遍歷二叉樹-------遞迴&非遞迴二叉樹遞迴
- 二叉樹——後序遍歷的遞迴與非遞迴演算法二叉樹遞迴演算法
- 【C++】翻轉二叉樹(遞迴、非遞迴)C++二叉樹遞迴
- 二叉樹的前中後序遍歷(遞迴和非遞迴版本)二叉樹遞迴
- 二叉樹的四種遍歷(遞迴與非遞迴)二叉樹遞迴
- 230. 二叉搜尋樹中第 K 小的元素
- 二叉樹的非遞迴遍歷寫法二叉樹遞迴
- 遍歷二叉樹的遞迴與非遞迴程式碼實現二叉樹遞迴
- LeetCode-230-二叉搜尋樹中第K小的元素LeetCode
- Leetcode230. 二叉搜尋樹中第K小的元素LeetCode
- 什麼是遍歷二叉樹,JavaScript實現二叉樹的遍歷(遞迴,非遞迴)二叉樹JavaScript遞迴
- 樹3-二叉樹非遞迴遍歷(棧)二叉樹遞迴
- 非遞迴先序遍歷二叉樹遞迴二叉樹
- 二叉樹的所有遍歷非遞迴實現二叉樹遞迴
- 【每日一題】二叉樹的前中後序非遞迴整理每日一題二叉樹遞迴
- 演算法篇 - 二叉搜尋樹演算法
- 如何在 Java 中實現二叉搜尋樹Java
- Leetcode 700. 二叉搜尋樹中的搜尋(DAY 2)LeetCode
- python實現二叉樹及其七種遍歷方式(遞迴+非遞迴)Python二叉樹遞迴
- 二叉搜尋樹
- Day20 | 654.最大二叉樹 、 617.合併二叉樹 、 700.二叉搜尋樹中的搜尋 98.驗證二叉搜尋樹二叉樹
- 資料結構中的樹(二叉樹、二叉搜尋樹、AVL樹)資料結構二叉樹
- leetcode 700. 二叉搜尋樹中的搜尋 思考分析LeetCode
- 二叉樹的遞迴套路二叉樹遞迴
- 二叉搜尋樹的第 k 個結點
- 程式碼隨想錄演算法訓練營第22天 |二叉樹part07:235. 二叉搜尋樹的最近公共祖先、701.二叉搜尋樹中的插入操作、450.刪除二叉搜尋樹中的節點演算法二叉樹
- 【Java資料結構與演算法筆記(二)】樹的四種遍歷方式(遞迴&非遞迴)Java資料結構演算法筆記遞迴
- Java實現二叉搜尋樹的插入、刪除Java
- Leedcode-二叉搜尋樹中的眾數
- 701. 二叉搜尋樹中的插入操作
- 程式碼隨想錄演算法訓練營第第20天 | 654.最大二叉樹 、617.合併二叉樹 、700.二叉搜尋樹中的搜尋、98.驗證二叉搜尋樹演算法二叉樹
- 二叉搜尋樹的操作集
- 二叉搜尋樹的結構
- 如何在Java中實現二叉搜尋樹( binary search tree)?Java
- 刷題系列 - Python用非遞迴實現二叉樹中序遍歷Python遞迴二叉樹
- 如何計算二叉樹中葉節點的數量 - Java迭代和遞迴演算法二叉樹Java遞迴演算法
- Java中在二叉搜尋樹中查詢節點的父節點Java
- 程式碼隨想錄演算法訓練營day22 | leetcode 235. 二叉搜尋樹的最近公共祖先、701. 二叉搜尋樹中的插入操作、450. 刪除二叉搜尋樹中的節點演算法LeetCode