数据结构与算法
文章平均质量分 76
基础的数据结构
一叶祇秋
这个作者很懒,什么都没留下…
展开
-
哈希表 - 详解
一般把搜索的数据称为关键字(Key),和关键字对应的称为值(Value),将其称之为Key-value的键值对,所以模型会有两种:1. 纯 key 模型2. Key-Value 模型原创 2023-07-23 10:00:12 · 100 阅读 · 0 评论 -
双向链表详解
顾名思义,就是在头节点之前插入一个节点,并将其变成头节点。2. 看下标是不是头节点,尾节点,是的话直接调用头插法,尾插法。2. 判断是不是头节点,如果是且不只有一个元素。1. 要先判断他输入的下标合不合法。遍历链表 - 将所有值置为空。1. 先找到key所在的位置。原创 2023-06-02 15:18:19 · 2695 阅读 · 3 评论 -
栈和队列详解
栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出的原则。原创 2023-07-15 21:16:50 · 287 阅读 · 0 评论 -
二叉树详解
树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。原创 2023-07-28 22:53:27 · 130 阅读 · 0 评论 -
基本排序算法
基础排序详解原创 2023-07-25 23:33:17 · 944 阅读 · 0 评论 -
优先级队列 (堆)
比如我们要进行升序排序,我们先要建立一个大根堆,再将根节点与最后一个节点交换,这个时候最后一个节点一定是的最大的,然后进行shiftDown,再将根节点与倒数第二个节点交换,依次类推。比如说我们要将{27,15,19,18,28,34,65,49,25,37}这个数组变成一个堆,我们要如何实现,思路:先找到最后一棵子树,将它变成堆后,依次遍历其他的子树,直到最后一棵子树的根节点是整棵树的根节点结束。(即最值),以及对现有堆进行调整以满足堆序属性。堆中的每个节点的值都要大于等于(或小于等于)其子节点的值。原创 2023-08-01 19:15:04 · 266 阅读 · 0 评论 -
二叉搜索树
二叉搜索树删除方法的实现是比较困难的,如果要删除的节点是叶子节点,那么比较简单,如果不是,我们就要考虑删除该节点后其左右子树的变化,情况一下变得十分复杂。那么我们如何来实现删除的功能呢?原创 2023-07-23 22:05:36 · 146 阅读 · 0 评论 -
数据结构-顺序表与单向链表
链表是一种物理存储结构上非连续存储结构,数据元素的逻辑顺序是通过链表中的引用链接次序实现的。与顺序表不同,链表没有扩容的概念,要添加元素只要再开辟一个空间就行,属于随用随拿,空间不会被浪费。value存值,next存下一个元素所在的地址。原创 2023-05-28 15:53:48 · 209 阅读 · 1 评论