
数据结构
文章平均质量分 95
本专栏会深入浅出地讲解数据结构与算法中的核心概念和优秀实现,并通过图解的方式帮助读者更好地理解。不论你是初学者还是资深程序员,本专栏都能帮助你更深入地了解数据结构与算法。
Albert Edison
向着深度学习炼丹大师前进!
展开
-
栈、共享栈、链式栈(C++实现)
栈是一种线性表。不过它只能在一端进行插入和删除操作,先入栈的数据只能后出来,而后入栈的数据只能先出来。原创 2023-10-29 07:41:43 · 12573 阅读 · 0 评论 -
希尔排序(C++实现)
希尔排序算法是对直接插入排序算法的改进,它先追求元素的部分有序,然后再逐渐逼近全局有序。原创 2023-10-04 13:17:10 · 17782 阅读 · 0 评论 -
直接插入排序(C++实现)
直接插入排序的工作过程就是不断地从左到右在已经排好序的序列中寻找下一个待排序元素的位置,然后插入这个元素。原创 2023-09-16 22:06:24 · 23267 阅读 · 0 评论 -
图 —— 基础概念详解
图(Graph)是由顶点的有穷非空集合和顶点之间的连线(边)的集合组成。原创 2023-09-02 09:49:35 · 25923 阅读 · 1 评论 -
哈夫曼编码(C++实现)
哈夫曼树是用来创建哈夫曼编码的。哈夫曼编码是一种可以用于数据压缩的编码方式,哈夫曼编码的构造过程需要用到哈夫曼树。原创 2023-08-27 22:12:56 · 27865 阅读 · 1 评论 -
哈夫曼树(C++实现)
哈夫曼树的概念:在含有 n 个带权叶节点的二叉树中,其中带权路径长度(WPL)最小的二叉树,也叫做最优二叉树。原创 2023-08-25 00:04:39 · 32369 阅读 · 0 评论 -
并查集:解密算法面试中的常客
「并查集」:解决实际问题的得力工具,让你的编程之路更畅通无阻原创 2023-05-14 21:54:02 · 49371 阅读 · 1 评论 -
数据结构中常见的哈希表,到底是什么?
散列表(Hash table),根据关键码值而直接进行访问的数据结构。它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。原创 2023-04-09 21:25:53 · 87299 阅读 · 9 评论 -
C/C++数据结构(十二)—— 红黑树
红黑树是每个节点都带有颜色属性的二叉查找树,颜色为红色或黑色。原创 2023-03-01 07:45:00 · 107287 阅读 · 41 评论 -
数据结构与算法这么难,为什么我们还要学习?
提到数据结构与算法,就一定会伴随着诸多所谓的坚持和抱怨。同时,还有两个词总是出现,一个是内功,是对知识的定位,一个是吃透,是对自己的期待。可是,我们是不是被这两个词束缚太久了,以至于出现了很多的问题原创 2023-02-12 07:45:00 · 43237 阅读 · 99 评论 -
C/C++排序算法(四)—— 归并排序和计数排序
归并排序和计数排序原创 2023-02-14 17:29:33 · 15294 阅读 · 0 评论 -
C/C++排序算法(三)—— 冒泡排序和快速排序
冒泡排序和快速排序原创 2023-02-14 17:25:52 · 22832 阅读 · 1 评论 -
C/C++排序算法(二) —— 选择排序和堆排序
选择排序和堆排序算法原创 2023-02-11 08:34:35 · 17590 阅读 · 1 评论 -
C/C++排序算法(一) —— 插入排序和希尔排序
直接插入排序算法、希尔排序算法原创 2022-11-09 15:02:54 · 17078 阅读 · 1 评论 -
二叉查找树的应用 —— K模型和KV模型
二叉查找树的key模型和key/value模型原创 2023-02-11 08:39:51 · 21632 阅读 · 2 评论 -
二叉堆的应用 —— TopK 问题求解
TOP-K 问题:即求数据结合中前K个最大的元素或者最小的元素,一般情况下数据量都比较大。原创 2022-10-13 10:39:17 · 16068 阅读 · 1 评论 -
C/C++数据结构(十一)—— 平衡二叉树(AVL树)
平衡二叉树又称为 AVL 树,其实就是一颗 平衡的二叉搜索树,解决了二叉搜索树的不平衡问题。原创 2023-01-19 23:13:35 · 27806 阅读 · 10 评论 -
C/C++数据结构(十)—— 二叉查找树
二叉查找树(Binary Search Tree),也称二叉排序树或二叉搜索树。原创 2023-01-13 08:15:00 · 24706 阅读 · 72 评论 -
C/C++数据结构(九) —— 链式二叉树
二叉树的顺序存储结构就是用一维数组存储二叉树中的结点,并且结点的存储位置,也就是数组的下标要能体现结点之间的逻辑关系,比如双亲与孩子的关系,左右兄弟的关系等。原创 2022-11-05 10:49:31 · 2579 阅读 · 0 评论 -
C/C++数据结构(八) —— 二叉堆
⼆叉堆本质上是⼀种完全⼆叉树,它分为两个类型:最大堆 和 最小堆。原创 2022-10-10 08:50:08 · 16456 阅读 · 4 评论 -
C/C++数据结构(七) —— Tree的前世今生
初始树的基本概念、常用术语原创 2022-10-08 10:04:42 · 16039 阅读 · 2 评论 -
C/C++数据结构(六) —— 循环队列
循环队列 是一种线性数据结构,其操作表现基于 先进先出 原则并且 队尾被连接在队首之后以形成一个循环。原创 2022-10-06 10:08:05 · 28037 阅读 · 10 评论 -
C/C++数据结构(五) —— 单向队列
队列(queue) 是⼀种线性数据结构,队列中的元素只能 先⼊先出。原创 2022-10-04 16:58:54 · 16444 阅读 · 0 评论 -
C/C++数据结构(四) —— 栈
栈是一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。原创 2022-10-03 10:57:56 · 18490 阅读 · 2 评论 -
C/C++数据结构(三) —— 双向带头循环链表
【数据结构系列】链表之双向带头循环链表的基本操作原创 2022-08-16 06:23:48 · 18467 阅读 · 97 评论 -
C/C++数据结构(二) —— 单链表
【数据结构系列】线性表之链表的基本操作原创 2022-07-31 11:25:41 · 16529 阅读 · 53 评论 -
C/C++数据结构(一) —— 数组
【数据结构系列】线性表之顺序表的基本操作原创 2022-07-25 09:39:16 · 16491 阅读 · 83 评论 -
一篇文章吃透算法时间复杂度
时间复杂度是学习算法的基石,今天我们来聊聊为什么要引入时间复杂度,什么是时间复杂度以及如何去算一个算法的时间复杂度原创 2023-03-11 14:14:34 · 104416 阅读 · 40 评论 -
「鸡尾酒排序」不会?每天一遍,排序再见【超详细】
冒泡排序的实现仍然不是最优,有一种排序算法叫做 「鸡尾酒排序」;鸡尾酒排序是基于冒泡排序的一种升级;今天这篇文章就是关于 「鸡尾酒排序」 的详细介绍;原创 2021-12-24 21:26:15 · 6599 阅读 · 85 评论 -
漫话:选择排序,一首圣诞歌的时间全部掌握
【数据结构初阶】第二篇——八大经典排序算法之选择排序总结(图解+动图演示+代码实现+八大排序比较)原创 2021-12-22 08:44:49 · 2543 阅读 · 49 评论 -
「数据结构」室友打一把王者就学会了冒泡排序算法
【数据结构初阶】第三篇——八大经典排序算法之交换排序总结(图解+动图演示+代码实现+八大排序比较)原创 2021-12-18 21:35:28 · 10547 阅读 · 72 评论 -
数据结构(开篇)—— 复杂度详解
彻底搞懂算法的时间复杂度和空间复杂度;时间复杂度和空间复杂度(超详细)原创 2021-12-13 10:07:05 · 2414 阅读 · 36 评论