独白: 利用算法进行查找指定元素,最近学习二分查找和二叉树遍历。二分查找前提是在有序中进行查找,二叉树引入了树的概念。树的概念其中有许多小知识点,也是一种新的数据结构。还是之前的感悟,需了解其本质才会写出更好的算法。 二分查找 二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是 ...
分类:
编程语言 时间:
2017-12-14 18:05:55
阅读次数:
166
查找二叉树(tree_a) 【题目描述】 已知一棵二叉树用邻接表结构存储,中序查找二叉树中值为x的结点,并指出是第几个结点。例:如图二叉树的数据文件的数据格式如下: 【输入】 第一行n为二叉树的结点个树,n<=100;第二行x表示要查找的结点的值;以下第一列数据是各结点的值,第二列数据是左儿子结点编 ...
分类:
其他好文 时间:
2017-12-10 20:21:14
阅读次数:
1207
搜索 搜索是在一个项目集合中找到一个特定项目的算法过程。搜索通常的答案是真的或假的,因为该项目是否存在。 搜索的几种常见方法:顺序查找、二分法查找、二叉树查找、哈希查找 二分法查找 二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半 ...
分类:
其他好文 时间:
2017-11-13 00:22:22
阅读次数:
128
在学习图之前,中间休息了两天,感觉二叉树需要消化一下。所以中间去温习了下sql,推荐一本工具书《程序员的SQL金典》看名字不像一本好书,但是作为一个不错的SQL工具书还是可以小小备忘一下。涵盖内容不详细但是挺广,覆盖多种主流数据库言归正传,以前知道折半查找,二叉树的..
分类:
Web程序 时间:
2017-07-27 22:48:28
阅读次数:
246
创建树。前序遍历,中序遍历,后序遍历。查找二叉树结点个数,查找二叉树叶子结点个数,查找二叉树度数为1的结点的个数 #include "iostream" using namespace std; struct tree { int data; tree *left,*right; }; class ...
分类:
其他好文 时间:
2017-07-07 16:28:18
阅读次数:
130
查找树ADT——查找二叉树 定义:对于树中的每个节点X,它的左子树中的所有项的值小于X中的项,而它的右子树中所有项的值大于X中的项。 现在给出字段和方法定义(BinarySearchTree.h) 查找二叉树的遍历可以采用遍历和非遍历两种算法。 一、添加元素(insert) 现在假设要添加这样一组整 ...
分类:
编程语言 时间:
2017-06-23 23:02:13
阅读次数:
320
给定一个有序数组(递增),敲代码构建一棵具有最小高度的二叉树。 因为数组是递增有序的。每次都在中间创建结点,类似二分查找的方法来间最小树。 struct TreeNode { int data; TreeNode* leftChild; TreeNode* rightChild; }; void n ...
分类:
编程语言 时间:
2017-04-29 18:56:09
阅读次数:
253
【问题描述】 已知一棵二叉树用邻接表结构存储,中序查找二叉树中值为x的结点,并指出是第几个结点。例:如图二叉树的数据文件的数据格式如下 7 15 5 2 3 12 4 5 10 0 0 29 0 0 15 6 7 8 0 0 23 0 0 ?‘ 1 #include<iostream> 2 #inc ...
分类:
其他好文 时间:
2017-03-30 23:19:13
阅读次数:
241
1、二叉树 二叉树(Binary Tree)的特点是每个结点至多具有两棵子树(即在二叉树中不存在度大于2的结点),并且子树之间有左右之分。 二叉树的性质: (1)、在二叉树的第i层上至多有2i-1个结点(i≥1)。 (2)、深度为k的二叉树至多有2k-1个结点(k≥1)。 (3)、对任何一棵二叉树, ...
分类:
其他好文 时间:
2017-03-28 16:23:52
阅读次数:
172