
数据结构
文章平均质量分 69
数据结构学习记录
.滄海难为水
流水不争先~
展开
-
【排序】计数排序
原创 2024-02-20 12:09:26 · 419 阅读 · 0 评论 -
【排序】归并排序
原创 2024-02-13 20:27:37 · 923 阅读 · 0 评论 -
【排序】快速排序
原创 2024-02-13 13:20:25 · 906 阅读 · 0 评论 -
【排序】希尔排序
以插入排序为基础的希尔排序原创 2024-02-08 11:00:00 · 768 阅读 · 0 评论 -
【排序】插入排序、冒泡排序、选择排序
介绍了三个时间复杂度为N^2级别的排序算法原创 2024-02-07 10:00:00 · 831 阅读 · 0 评论 -
【数据结构】堆
堆的基本概念以及各种堆中的操作,最后扩充了堆排序和TOPK等问题原创 2024-01-27 14:45:35 · 1180 阅读 · 0 评论 -
【数据结构】二叉树
数据结构中二叉树的基础知识以及遍历方式原创 2024-01-25 12:35:01 · 1117 阅读 · 0 评论 -
【数据结构】栈和队列
栈和队列基础概念及具体函数功能的实现,此外配套几道经典leetcode 题目及时消化理解本节知识,此外扩展了循环队列的题目分析原创 2023-07-10 22:49:02 · 408 阅读 · 1 评论 -
链表与顺序表的区别以及扩展计算机硬件的存储体系
六月回归的第一篇文章,总结了链表和顺序表的区别特点,同时补充一些硬件知识。原创 2023-06-15 15:55:55 · 463 阅读 · 0 评论 -
【数据结构:线性表】双向链表
带头双向循环链表各接口的代码实现原创 2023-05-21 15:18:47 · 195 阅读 · 3 评论 -
【数据结构:线性表】单链表
链表的概念:链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。增容一般是呈2倍的增长,势必会有一定的空间浪费。200,我们再继续插入了5个数据,后面没有数据插入了,那么就浪费了95个数据空间。增容需要申请新空间,拷贝数据,释放旧空间。链式结构在逻辑上是连续的,但在物理上不一定连续。中间/头部的插入删除,时间复杂度为O(N)原创 2023-04-20 21:44:31 · 508 阅读 · 3 评论 -
【数据结构:线性表】顺序表
静态顺序表只适用于确定知道需要存多少数据的场景。静态顺序表的定长数组导致N定大了,空。所以现实中基本都是使用动态顺序表,根据需要动态的分配空间。线性表(linear list)是n个具有相同特性的数据元素的有限序列。线性表在物理上存储时,通常以数组和链式结构的形式存储。动态顺序表:使用动态开辟的数组存储。静态顺序表:使用定长数组存储元素。大小,所以下面我们实现动态顺序表。原创 2023-04-17 18:05:32 · 362 阅读 · 1 评论 -
【数据结构:复杂度】空间复杂度
空间复杂度也是一个数学表达式,是对一个算法在运行过程中临时占用额外存储空间大小的量度 。间复杂度不是程序占用了多少bytes的空间,因为这个也没太大意义,所以空间复杂度算的是变量的个数。空间复杂度计算规则基本跟实践复杂度类似,也使用大O渐进表示法。注意:函数运行时所需要的栈空间(存储参数、局部变量、一些寄存器信息等)在编译期间已经确定好了,因此空间复杂度主要通过函数在运行时候显式申请的额外空间来确定。原创 2023-04-16 12:50:37 · 98 阅读 · 0 评论 -
【数据结构:复杂度】时间复杂度
一个算法执行所耗费的时间,从理论上说,是不能算出来的,只有你把你的程序放在机器上跑起来,才能知道。时间复杂度主要衡量一个算法的运行快慢,而空间复杂度主要衡量一个算法运行所需要的额外的空间。总而言之:找到某条基本语句与问题规模N之间的数学表达式,就是算出了该算法的时间复杂度。衡量一个算法的好坏,一般是从时间和空间两个维度来衡量的。算法中的基本操作的执行次数,为算法的时间复杂度。原创 2023-04-10 20:19:33 · 484 阅读 · 2 评论