06 2021 档案
摘要:1. 直接插入排序 直接插入排序是一种最简单的排序方法,基本操作是将一条记录插入到已排好序的有序表中,从而得到一个新的、记录数量增1的有序表。 直接插入排序过程: 算法描述: void insertSort(SqList &L) { for(int i=2; i<=L.length; i++) {
阅读全文
摘要:对于二叉排序树,树的高度越小,查找速度越快,因此,希望二叉树的高度尽可能小。 平衡二叉树是一种特殊类型的二叉排序树。 平衡二叉树或者是空树,或者是具有如下特征的二叉排序树: 1)左子树和右子树的深度之差的绝对值不超过1; 2)左子树和右子树也是平衡二叉树。 待补充......
阅读全文
摘要:二叉排序树,又称二叉查找树,是一种对排序和查找都很有用的特殊二叉树 定义 二叉排序树或者是一棵空树,或者具有以下定义: 1)若左子树不为空,左子树上所有结点值均小于根结点值; 2)若右子树不为空,右子树上所有结点值均大于根结点值; 3)左右子树也分别为二叉排序树。 递归定义。有定义可得性质:中序遍历
阅读全文
摘要:分块查找,又称索引顺序查找,性能介于顺序查找和折半查找之间。 需建立一个 索引表 。 索引表包括两项内容: 关键字项(其值为该子表内的最大关键字)和指针项(指示该子表的第一个记录在表中的位置)。 索引表按关键字有序,则表或者有序或者分块有序。 “分块有序”指第二个子表中所有记录的关键字均大于第一个子
阅读全文
摘要:折半查找,也称二分查找,是一种效率较高的查找方法。 要求线性表必须采用 顺序结构,表中元素按关键字 有序排列。 int Search_Bin (SSTable ST, KeyType key) { int low = 1, high = ST.length; while (low <= high)
阅读全文
摘要:顺序查找 int Search_seq(SSTable ST, KeyType key) { for(int ST.length; i>=1; i++) { if (ST[i].key == key) return i; } return 0; } 在以上查找过程中, 每一步都要检测整个表是否查找完
阅读全文
摘要:基础: 与操作:n & 0 = 0 计算机中的数字通常用二进制补码表示 如果为 正数,补码 = 源码,判断奇偶时与1相与,奇数为1,偶数为0 如果为 负数,补码->源码:保持符号位不变,其他各位取反加1,判断奇偶时仍看最后一位,先取反后加1,结果仍与原来相同。与1相与,仍是奇数为1,偶数为0 代码:
阅读全文