数据结构
坎布里奇
从业互联网多年的小白
展开
-
链表学习--单链表-增删查实现
链表在大多数情况下,我们将使用头结点(第一个结点)来表示整个列表。如果我们想要获得第 i 个元素,我们必须从头结点逐个遍历。 我们按索引来访问元素平均要花费 O(N) 时间,其中 N 是链表的长度。实现如下功能 :get(index):获取链表中第 index 个节点的值。如果索引无效,则返回-1。addAtHead(val):在链表的第一个元素之前添加一个值为 val 的节点。插...原创 2019-08-08 20:47:02 · 187 阅读 · 0 评论 -
java 实现的二分查找算法
一、定义:二分法查找,也称为折半法,是一种在有序数组中查找特定元素的搜索算法。二、实现思路:(1)首先,从数组的中间元素开始搜索,如果该元素正好是目标元素,则搜索过程结束,否则执行下一步。(2)如果目标元素大于/小于中间元素,则在数组大于/小于中间元素的那一半区域查找,然后重复步骤(1)的操作。(3)如果某一步数组为空,则表示找不到目标元素。三、要求:必须采用顺序存储结构。四、 适用场景:适用于数据量较大时,但是数据需要先排好顺序。五、复杂度分析:时间复杂度1.最坏情况查找最后一个元原创 2021-01-21 19:59:13 · 1617 阅读 · 0 评论 -
B 树的初步认识
B 树 - 幕布B 树目录:一、卫星数据:指索引元素所指向的数据记录,比如数据库中的某一行。在B-树中,无论非终端结点还是叶子结点都带有卫星数据;在B+树中只有叶子结点带有卫星数据,其余非终端结点仅仅是索引,没有任何数据关联。在数据库的聚集索引中,叶子结点直接包含卫星数据;在非聚集索引中,叶子结点带有指向卫星数据的指针。二、B- 树定义:一种平衡的多路查找树;使用场景:做文件的索引,在文件系统多使用;结构/特点:一棵m阶的B-树,或为空树,或为满足下列特性的m叉树:1、树中每个结点至多有...原创 2020-06-26 17:06:25 · 404 阅读 · 0 评论 -
哈希表的初步认识
哈希表 - 幕布哈希表诞生的前提在线性表、树等数据结构中,记录在结构中的相对位置是随机的,和记录的关键字之间不存在确定的关系,因此, 在结构中查找记录时需要进行一系列和关键字的比较。此类的查找方法建立在"比较"的基础上。在顺序查找时,比较的结果为等于 与 不等于两种可能;在折半查找中、二叉排序树查找和B-树查找时,比较的结果为小于、等于、和大于三种可能;查找的效率依赖于查找过程中所进行的比较次数。定义:理想的情况,希望不经过任何比较,一次存取便能得到所查记录,那就必须在记录的存储位置和它...原创 2020-06-26 17:05:23 · 275 阅读 · 0 评论