Data Structure
文章平均质量分 93
_Vivi__
这个作者很懒,什么都没留下…
展开
-
Advanced Tree Structures
AVL TreeAVL TreeAn AVL (Adelson-Velskii and Landis) Tree is a binary search tree with a “balanced” conditionEvery node in the tree, the height of the left and right subtrees differ by at most 1(左子树和右子树高度最多相差1)调整BST为 AVL注意这里最后两种写反了。判断的时候是从出现问题的结点原创 2021-11-28 09:58:39 · 156 阅读 · 0 评论 -
Graphs
TerminologyPresentationsDirected Graph邻接矩阵&邻接表Undirected GraphAdjacency MatrixSpace: Θ(∣V∣2)Θ(|V|^2)Θ(∣V∣2)Adjacency ListSpace: Θ(∣V∣+∣E∣)Θ(|V| + |E|)Θ(∣V∣+∣E∣)ADTclass Graph { // Graph abstract class public: virtual int n() =0;原创 2021-11-27 17:49:15 · 460 阅读 · 0 评论 -
Indexing
IntroductionIndexing is a process of associating a key with the location of a corresponding data record(类似于查字典). Each key is associated with a pointer to a complete recordMight have several associated index files(一个指针可以指向多条记录)Index TypesPrimary Key原创 2021-11-24 21:37:34 · 131 阅读 · 0 评论 -
Searching
Sequential and List MethodUnsorted ListsSequential Search一个一个找Self-Organizing Lists : HeuristicsMove-to-FrontWhen a record is found, move it to the front of the list.每次找到一个就把这个放在最前面CountOrder by actual historical frequency of access. When a reco原创 2021-10-31 14:36:08 · 346 阅读 · 0 评论 -
Internal Sorting
Θ(n2) SortingBubble Sort从下往上逐渐把最小值浮上来,修改好的放在最上面template <class Elem, class Comp>void bubsort(Elem A[], int n) { for (int i=0; i<n-1; i++) for (int j=n-1; j>i; j--) if (Comp::lt(A[j], A[j-1])) swap(A, j, j-1);}比较次数是固定的,交换次数有极端值原创 2021-10-31 11:38:30 · 193 阅读 · 0 评论 -
Non-Binary Trees
Non-Binary TreesNon-Binary (General) TreeGeneral Tree : Any number of childADT每个节点记忆了它的第一个孩子和右边的节点template <class Elem> class GTNode { public: GTNode(const Elem&); // Constructor ~GTNode(); // Destructor Elem value(); // Return val原创 2021-10-26 17:16:40 · 163 阅读 · 0 评论 -
Binary Trees
Binary TreesIntroductionFull Binary TreeEach node being eitherLeafInternal node with exactly two non-empty children (有孩子必须有两个孩子)Complete Binary TreeIf the height of the tree is d, then all levels except possibly level d-1 arecompletely fullThe原创 2021-09-27 16:44:30 · 160 阅读 · 0 评论 -
Lists, Stacks, and Queues
Lists, Stacks, and QueuesListsIntroductionEach element has a data type (atomic or structure)Empty list contains no elementsThe length is the number of elements storedThe beginning of the list is called the headThe end of the list is called the tai原创 2021-07-30 19:06:27 · 119 阅读 · 0 评论 -
Introduction and Algorithm Analysis
Introduction and Algorithm AnalysisBasic DefinitionsType: a collection of valuesBoolean type: collection of true or false valueInteger type: collection of 1,2,3… valueData type: a type and a collection of operations that manipulate the type Intege原创 2021-07-29 15:33:39 · 77 阅读 · 0 评论