第VII章まとめ
いくつかの基本的な概念を一覧表示するには:
①キーワード:データ要素(レコード)のデータ項目の値は、それがデータ要素で表すことができます。
②動的ルックアップテーブル/静的ルックアップテーブル:変更操作は、検索処理(挿入または削除)した場合、対応するテーブルは、動的ルックアップテーブル、そうでなければ静的なルックアップテーブルです。
③平均長:ルックアップテーブルに記録位置を決定するために、キーワード検索アルゴリズムを比較する期待値の所定の数の必要と値は、成功の平均長さを見つけるために呼び出されます。下記式:ASL =ΣPiCi(i = 1,2,3、...、n)は、単にので、理解数学所望され得ます。ここで、Piはi番目の要素がデータを比較したとき、i番目のデータ要素のテーブルの数を発見する確率は、CIが発見されています。
次の図は、章のマインドマッピングを示してい
1.順次検索
順次ノード鍵と現在のノードがキーワードに等しい場合、比較、検索が成功した(とする)指定された値をスキャンするために、テーブルを順次走査し、テーブルの一端から開始し、スキャンの終了後であれば、まだノードに等しいキーワードを見つけるには、ルックアップが失敗します。
私たちはゼロからスタートすることで、この方法は、1つの比較ずつを見つけるほとんど常に学び始めたときにシーケンシャル検索方法は、最も一般的なものであるので、これは少なくとも効率的な方法の一つです。
順次記憶構造及び収納構造鎖線状形態に適し。
平均長ルックアップルックアップが成功した:ASL = 1 / N(1 + 2 + 3 + ... + N)=(N + 1)/ 2。
2.バイナリ検索
中間要素は、要素がちょうど探している場合、アレイ素子の中央からの検索処理は、検索処理を終了する。特定の要素は、アレイ内の中間要素が大きいか又は中間要素ルックアップの半分よりも小さいより大きいまたは小さい場合、及びスタートのように真ん中の要素を比較し始めます。いくつかの段階で、配列が空の場合、それが見つかりませんを表しています。各比較検索が半分に減少するように、この検索アルゴリズム。
バイナリミッド式の計算
mid = (low+high)/2;
if(a[mid]==value)
return mid;
if(a[mid]>value)
high = mid-1;
if(a[mid]<value)
low = mid+1;
3. 分块查找
二分查找表使分块有序的线性表和索引表(抽取各块中的最大关键字及其起始位置构成索引表)组成,由于表是分块有序的,所以索引表是一个递增有序表,因此采用顺序或二分查找索引表,以 确定待查结点在哪 一 块,由于块内无序,只能用顺序查找。
4. 树表查找
二叉排序树(Binary Sort Tree),又称为二叉查找树。它或者是一棵空树,或者是具有下列性质的二叉树。
若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;
若它的右子树不空 ,则右子树上所有结点的值均大于它的根结点的值;
它的左、右子树也分别为二叉排序树。
平衡二叉树(AVL树)
平衡二叉树,是一种二叉排序树,其中每一个节点的左子树和右子树的高度差至多等于1。
从平衡二叉的英文名字(AVL树),你也可以体会到,它是一种高度平衡的二叉排序树。
高度平衡意思是说,要么它是一棵空树,要么它的左子树和右子树都是平衡二叉树,且左子树和右子树的深度之差的绝对值不超过1。
B-树
B树可以看作是对查找树的一种扩展,即他允许每个节点有M-1个子节点。
-
-
根节点至少有两个子节点
-
每个节点有M-1个key,并且以升序排列
-
位于M-1和M key的子节点的值位于M-1 和M key对应的Value之间
-
其它节点至少有M/2个子节点
B+树
-
B+树是对B树的一种变形树,它与B树的差异在于:
- 有k个子结点的结点必然有k个关键码;
- 非叶结点仅具有索引作用,跟记录有关的信息均存放在叶结点中。
- 树的所有叶结点构成一个有序链表,可以按照关键码排序的次序遍历全部记录。
-
5. 散列表
(2)散列函数的构造方法:
数字分析法;平方取中法;折叠法;除留余数法 (假设散列表表长为m,选择一个不大于m的数p,用p去除关键字,除后所得余数为散列地址)
(3)处理冲突的办法
开放地址法:线性探测法;二次探测法;伪随机探测法
链地址法
总结
上一次的目标基本达成,还顺带学习了一下map的用法,
下一阶段的目标:备考准备,好好复习。