程序员数据结构笔记(三)

来源:软件水平考试    发布时间:2012-11-05    软件水平考试视频    评论

 
排序查找是我自己觉得最头疼的算法了,常搞混去的啊.不知道各位学得如何,如果不错,还请告诉我一些经验!

查找 

一、 知识点    /静态查找->数组    
  1、 什么是查找
          /动态查找->链树
  ●顺序查找,时间复杂度 O(n)
  ●折半查找:条件:有序;时间复杂度 O(nlog2n) (时间复杂度实际上是查找树的高度)
  ●索引查找:条件:第I+1块的所有元素都大于第I块的所有元素。
   算法:根据index来确定X所在的块(i) 时间复杂度:m/2    
      在第I块里顺序查找X      时间复杂度:n/2 
   总的时间复杂度:(m+n)/2
  ●二叉排序树 1)定义:左子树键值大于根节点键值;右子树键值小于根的键值,其左右子树均为二叉排序树。 
         2)特点:中序遍历有序->(删除节点用到此性质)
         3)二叉排序树的查找:如果根大于要查找的树,则前左子树前进,如果根小于要查找的树,则向右子树前进。
         4)结点的插入->二叉排序树的构造方法
         5)结点删除(难点)  1、右子树放在左子树的最右边
                    2、左子树放在右子树的最左边
  ●avl树(二叉平衡树):左右子树高度只能差1层,即|h|<=1其子树也一样。
  ●B树:n阶B树满足以下条件 1)每个结点(除根外)包含有N~2N个关链字。                2)所有叶子节点都在同一层。
                3)B树的所有子树也是一棵B树。
   特点:降低层次数,减少比较次数。

上一页123下一页

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答