数据结构是计算机存储、组织数据的方式。 数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。
我以前也是这么想的。 直到后来踩了几次坑,才意识到: 网页快照不是“可选项”,而是数据系统是否成熟的分水岭。
大家好,很高兴又和大家见面啦!!! 在上一篇内容中我们介绍了 快速排序 的 基本思想 以及 排序步骤,这里我们简单的回顾一下:
当你打开地图 APP 规划出行路线时,是否想过背后的数据结构在默默 “工作”?从 A 地到 B 地的多条路径、不同道路的距离(权重)、单行道(有向)限制,这些都...
当你打开导航 APP,选择 “最短距离” 模式时,背后其实藏着一种关键的数据结构 ——带权图。不同于只记录 “是否相连” 的普通图,带权图给每条边都加上了 “权...
在数据结构的世界里,队列是一种遵循 “先进先出”(FIFO,First In First Out)规则的线性表,它就像我们日常生活中排队买票的队伍,先到的人先完...
在编程世界里,队列(Queue)是一种遵循 “先进先出”(FIFO,First In First Out)规则的线性数据结构,就像我们日常生活中的排队场景 ——...
在数据结构中,栈的 “后进先出” 特性广为人知,上一篇我们聊了基于数组的顺序栈,它虽高效但容量固定,容易出现栈溢出或内存浪费的问题。今天就来介绍一种更灵活的实现...
在数据结构的世界里,“栈” 是一个既基础又实用的概念。它就像我们日常生活中叠放的盘子 —— 只能从最上面拿取,也只能往最上面添加,这种 “后进先出”(LIFO,...
在编程学习中,“数据结构” 常常被初学者视为 “拦路虎”,尤其是听到 “顺序表”“链表” 这类专业术语时,很容易陷入 “抽象难懂” 的误区。但其实数据结构的本质...
在数据结构的世界里,图是一种比数组、链表、树更为复杂的非线性结构,它能够轻松表示现实生活中多对多的关系,比如社交网络中的好友关系、城市交通路线中的站点连接等。而...
在数据结构的世界里,单链表就像一条灵活的 “链子”,它由一个个 “链节”(节点)串联而成,能够高效地存储和操作数据。相比于数组,单链表在数据插入、删除等操作上具...
在数据结构的世界里,“图” 是个神奇的存在 —— 它能像地图一样描绘城市间的道路,也能像通讯录一样记录人与人的关联。而今天我们要聊的 “无向邻接矩阵”,就是描述...
当我们用有序数组储存数据时,查找某个数据可以用折半查找,时间复杂度为LogN;但是当我们要插入或删除数据时需要一步一步挪动数据,消耗非常大。为此引入了二叉搜索树...
要学习堆,首先要先简单的了解一下二叉树,二叉树是一种常见的树形数据结构,每个节点最多有两个子节点,通常称为左子节点和右子节点。它具有以下特点:
队列要求先入先出,用数组实现要挪数据,效率非常低。双向链表实现非常方便但是占用内存比单链表多,所以在这里我们选择用单链表实现。
一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的元素遵循先进后出的原则,先入栈的元素总...
前面我们实现了单链表,单链表只是链表的一种。可以根据以下几个标准来判断链表的类型:
在处理大型的数据时,需要频繁的增容且在中间删除或插入数据时需要遍历顺序表,这些性质导致了顺序表的效率较低。这时我们就可以使用另一种数据结构--链表。
前面以及有了堆的基础,现在来学习二叉树。二叉树的学习和前面的数据结构很不一样,前面我们主要学习用数据结构储存数据,以及实际手搓数据结构的增删查改;而学习二叉树主...
. - 力扣(LeetCode) 如果链表的两条链的长度一样,链表两端对齐,解决这个问题将会变得非常简单,直接分别遍历两个链表,想等时的节点即为所求。我们想...