![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
文章平均质量分 68
柠ning
这个作者很懒,什么都没留下…
展开
-
数据结构:链表
链表在插入数据和删除数据,可以直接修改节点中的指针,无需像数组那样要移动大量数据元素。在对链表进行操作的时候,如果需要对头节点进行操作的话,建议构建一个虚拟节点,使它位于有头节点之前,这样就可以对所有节点进行一致的操作。n个节点形成一个链表,也为线性表的链式存储结构。节点含有一个指针域的链表称为单链表,含有两个指针域的链表称为双链表。链表插入/删除时间复杂度O(1),查询时间复杂度O(n),适用场景数据量不固定,频繁增删,较少查询。数据域存储的是本身节点的数据,指针域指向的是下一个节点的位置。...原创 2022-07-17 15:16:16 · 190 阅读 · 1 评论 -
数据结构:数组总结
数组分为静态数组和动态数组,数组是存放在连续内存空间上的相同类型数据的集合。 静态数组的长度是固定的,改变数组中的值,需要用一个新值覆盖掉旧的值。若想改变数组的长度,则需要新建一个新的数组来处理旧数组的值,将旧数组的名字赋给新建的数组,之后就OK了。 具体应用:`而动态数组是可以改变数组长度的,直接调用具体方法add(),remove()等等。数组中还有一种类别多维数组,以二维数组,二维数组的每一行头结点的地址是没有规则的,更谈不上连续。 用图来表示: 这里可以简单的看一看,如果想详细了解,可以去找一本经典原创 2022-07-10 16:26:15 · 368 阅读 · 0 评论 -
二分查找法
在这里我就是说说我自己的想法。这里困难的,我想就是容易分不清边界,仅仅去选择记忆那个模板(在过了很久以后就会忘记) 二分查找法: 有两个前提条件:1.在查找的内容范围上一定是有顺序的。 2.一次只能查找一个数。假设一个有序的数组{1,2,3,4,5},查找一个targeta=4的位置,运用二分查找可以很快的找到。二分查找方法是不停的进行去迭代,所以划定一个正确的方法是非常重要的。(也就是左右区间开闭的不同)。题目:示例一:示例二:把上面那个代码题解决一下 左闭右闭 左闭右开 其实大概是相同的。...原创 2022-07-01 20:11:27 · 1114 阅读 · 0 评论