数据结构
桐小目
认真生活,认真学习。
展开
-
C++与STL再回顾
因为暑假和秋季学期学习太过不认真,以至于至今对一些基础性质的东西尚有许多疑问,虽然平时做题没什么影响,可总还是个隐患。今天就再回头看一看C++与STL里面的一些基本知识,在短时间内把这些东西复习一,同时也把以前没搞懂的地方好好梳理一下。(后悔当初没认真啊,要不然现在不会这么弱了T_T)按照条目把仅针对自己而言需要记的知识点列出来吧:(1).C++引用特性(2).string类相关的有一原创 2016-01-26 23:38:22 · 410 阅读 · 0 评论 -
静态链表类模板的实现
相信你如果能找到这里,最起码单链表循环链表是什么你应该已经知道了,静态链表其实就是在单链表的基础上修改了每个函数的实现方法,使其基于数组实现。那么我就先介绍一下静态链表。 静态链表是利用数组来模拟存储空间来实现链表的,因为在整个运算过程中它的存储空间的大小不会改变,所以我们称之为 静态链表。 特点: 1.由数组模拟存储空间,实现链表。 2.可以不改变物原创 2016-01-15 12:23:55 · 991 阅读 · 2 评论 -
顺序查找与折半查找的性能比较及C++ 计时函数的介绍
顺序查找和折半查找都是很常用的查找算法,他们的查找对象都是顺序表。顺序查找就是按照顺序表,一个一个问哎是不是你是不是你,不是就继续问下一个直到找到为止,简单有效的方法。时间复杂度为O(n),平均复杂度为O(n/2),还是一个级别。折半查找查找的前提是此顺序表必须是有序的,即需要先排序,然后再查找。他的查找方法就是定区间,折中取数如果寻找的数大于这个数那么就在右区间继续查找,如果小于原创 2016-05-14 15:06:11 · 4213 阅读 · 2 评论 -
B+树的Java实现(B+ Tree)
B+树 B+ Tree定义B+树是一种多路平衡查找树,是对B树(B-Tree)的扩展.首先,一个M阶的B树的定义为:每个节点最多有M个子节点;每一个非叶子节点(除根节点)至少有ceil(M/2)个子节点;如果根节点不是叶子节点,那么至少有两个子节点;有k个子节点的非叶子节点拥有k-1个键,键按照升序排列;所有叶子节点在同一层;从定义可以看出来,一个M阶的B树,其叶子节点必须在...原创 2019-03-11 15:41:46 · 21761 阅读 · 32 评论 -
可扩展哈希 ExtendibleHash Java实现
可扩展哈希 ExtendibleHash定义扩展哈希是动态哈希的一种,以下定义摘自维基百科[4] 。Extendible hashing is a type of hash system which treats a hash as a bit string and uses a trie for bucket lookup.[1] Because of the hierarchical ...原创 2019-03-13 16:05:46 · 3263 阅读 · 0 评论