【数据结构】
WinterCat~
保持善良,不忘初心
展开
-
【数据结构】静态查找之分块查找
【分块查找】 分块查找,也称索引顺序查找,是一种折半查找和顺序查找的改进方法。【思想】 ①把线性表分成若干块,每块包含若干个元素 ②块内无序,块间有序。 ③建立一个索引表,把每块中的最大关键字值和每块的第一个元素在表中的位置和最后一个元素在表中的位置存放在索引项中。 ④先确定待查数据元素所在的块,然后原创 2015-10-16 11:03:24 · 4031 阅读 · 18 评论 -
【数据结构】静态查找之二分查找
【二分查找】 查找(Binary Search),也叫折半查找,是一种静态表查找方法。【思想】 用给定值与处在表的中间位置的数据元素的键值进行比较,确定给定值的所在区间,然后逐步缩小查找区间。重复以上过程知道找到或确认找不到该数据元素为止。【ASL】 ASLb=∑PiCi=(n+1)log2(n+1)/n -1≈log2(原创 2015-10-16 10:56:55 · 1286 阅读 · 15 评论 -
【数据结构】静态查找之顺序查找
【思想】 从表的最后一个数据元素位置开始,从后往前依次将各个位置上的数据元素的键值与给定值比较。若某个位置上的数据元素的键值与给定值相等,则查找成功,并返回该位置作为结果;反之,若查找至第一个元素,所有数据元素的键值均与给定值不等,则查找不成功。【ASL】 ASL指的是平均查找长度,是指为找到数据元素在查找表中的位置,与给定值进行比较的键值个数的期望值。原创 2015-10-16 10:52:22 · 2065 阅读 · 10 评论 -
【数据结构】扩充先序遍历创建二叉树
之前接触和学习的大多是二叉树的应用,即:二叉树的遍历、查找和排序等等。今天小编要介绍的是二叉树的创建。为了在程序中更有效和直观的创建一棵二叉树,可以使用,扩充先序遍历,来创建二叉树。【定义】扩充先序遍历,首先要根据一棵二叉树写出它的先序遍历序列,然后根据二叉树中各个节点左右孩子的状况进行遍历,即:凡是没有左右孩子的节点,遍历到它的左右孩子时都用“.”来表示它的左右孩子,只是表示左右孩子原创 2016-12-14 16:57:12 · 18584 阅读 · 29 评论 -
【数据结构】二叉排序树的删除
【基础知识】 删除二叉树的节点P,共有两种方式:方法一:1.若P有左子树,找到其左子树的最右边的叶子结点R,用该叶子结点R来替代P,把R的左孩子作为R的父亲的右孩子。2.若P没有左子树,直接用P的右孩子取代它。方法二:1.若P有左子树,用P的左孩子取代它;找到其左子树的最右边的叶子结点R,把P的右子树作为R的右子树。2.若P没有左子树,直接用P的右孩子原创 2016-12-14 18:03:42 · 1662 阅读 · 29 评论