
数据结构
文章平均质量分 56
学习数据结构心得体会
我焦虑的编程日记
热爱编程,但很焦虑。
gitee主页:https://gitee.com/iqyy
展开
-
【数据结构】环形队列
环形队列就是将队列在逻辑上看作环形结构、物理上仍是数组形式存储的一种数据结构。原创 2023-12-02 14:02:31 · 434 阅读 · 6 评论 -
【数据结构】Map和Set
二叉搜索树是的二叉树。(如果左右子树不为空的话是这样,但是左右子树也可以为空)原创 2023-10-28 14:04:31 · 534 阅读 · 2 评论 -
【数据结构】单链表
/ 节点结构体public:T val;使用 explicit 避免单参数构造函数进行隐式转换。原创 2023-09-25 18:43:48 · 313 阅读 · 1 评论 -
【数据结构】堆的初始化——如何初始化一个大根堆?
在进行向上调整的时候,会对传进来的comparator进行判断,如果不为空,那就使用程序员传进来的比较器接口,如果为空,那就说明调用者并未实现比较器,那么就使用java自己提供的函数。在使用自己写的compare函数时,会让x强转为Comparable类型,如果这个x不是可以比较的(未实现Comparable接口,那就会抛出类型转换异常)这是使用程序员自己传进来的比较器进行比较,调用了compare接口进行比较,所以要想初始化一个大根堆,那就得自己写出一个compare函数然后传进去。原创 2023-08-17 21:17:48 · 1380 阅读 · 1 评论 -
【数据结构】堆
在插入的操作中,向上调整只需要进行一次,因为除了刚刚插进来的最后一个元素与其他的结点不匹配,其他的结点都已经在各自的树中形成自己的大根堆,所以。将堆头元素与末尾元素交换位置,随后对根节点所在的树进行向下调整。在优先级队列中存储的元素具有优先级,可以返回优先级较高的元素。① 不是每个结点都是有左(右)子树的,需要进行判断,防止越界。开始向上进行建堆,对每一棵子树都进行大(小)根堆的调整。(最大的根节点或者是某一层的新根节点再不能向上走)。删除的就是堆头元素,最大(小)元素。之后利用错位相减法求得O(n)原创 2023-08-17 20:18:38 · 819 阅读 · 2 评论 -
【数据结构】二叉树
是指所有结点度数小于等于2的树。原创 2023-08-16 16:50:32 · 634 阅读 · 1 评论 -
【数据结构】初始二叉树
每个结点都有左右子树的二叉树。原创 2023-08-11 23:49:51 · 584 阅读 · 2 评论 -
【数据结构】链表是否有环相关问题
如果这样,相对(追及)速度会变为2、3、4,如果环的节点数正好是2、3、4的倍数,那就可以除尽,意味着可以相遇,反之不相遇。所以,一个速度为2,一个速度为1是最优解,快指针不会在环内转很多无意义次,且相对速度为1,必定能够除尽(相遇)。原创 2023-07-22 13:43:07 · 297 阅读 · 0 评论 -
二分查找算法
【代码】二分查找算法。原创 2023-01-10 12:33:58 · 91 阅读 · 1 评论 -
分治经典排序——归并排序
分治经典排序——归并排序原创 2022-12-31 22:49:56 · 357 阅读 · 1 评论 -
节点&结点
是空间格子中的点,它们代表晶体构造中的相当点。在实际的晶体构造中,结点可以为相同的离子、原子或分子所占据,但结点本身不代表任何质点,它们为只具几何意义的几何点。中每一个元素称为"结点",每个结点都应包括两个部分:一为用户需要用的实际数据;在数据结构的图形表示中,对于数据集合中的每一个数据元素用中间标有元素值的方框表示,一般称之为数据结点,简称结点。数据结构中的每一个数据结点对应于一个储存单元,这种储存单元称为储存结点,也可简称结点。在程序语言中,节点是XML文件中有效而完整的结构的最小单元。原创 2022-12-12 13:38:51 · 535 阅读 · 0 评论 -
最适合保存数据的链表——双向带头循环链表
这就保证了它只有一个结点时候也不算特殊情况。:适合删除插入元素(时间复杂度都是O(1))原创 2022-12-15 23:11:30 · 151 阅读 · 0 评论