![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
DS
文章平均质量分 63
lemonade13
这个作者很懒,什么都没留下…
展开
-
并查集总结|实现优化思路
目的解决连接问题。实现图相关算法,是一种特别的树形结构。应用1)连接问题:图上任意2个点是能通过中间点连通!不能回答路径问题2)数学中集合类的实现复杂度时间复杂度近乎为O(1)实现思路基本操作union(p,q) :把q点和p点各自所属的组的所有点合并成一个find(p) :查询点p所属的组isConnected(p,q) :判断点p和q是否属于同一组实现1:数组数组的idx对应的值 表示其属于的哪个集合实现2:数...原创 2021-01-11 16:19:03 · 145 阅读 · 0 评论 -
排序算法总结|基本思路
本文参考bobo老师的教学视频。O(n^2)的算法1. 选择排序每次选最小的元素,放到前面排序部分的最后一个位置2. 插入排序每次从未排序部分取第一个元素,不断向前面排好序里的元素比大小+交换,直到插入合适位置缺点:频繁交换位置,交换操作耗时改进:前面排序部分后移,直到找到合适位置再将元素放入优点:在近乎有序的时候,插入效果近似O(n)3. 希尔排序(插入的改进)出发点:插入在近乎有序的时候很快,所以希尔先在大跨度上排序,然后逐渐减小步长4. 冒...原创 2021-01-11 15:58:14 · 593 阅读 · 0 评论 -
【DS总结】C++容器使用对比和选择【未完待续】
参考:https://www.cnblogs.com/engineerLF/p/5393006.html原创 2020-02-24 11:47:33 · 178 阅读 · 0 评论 -
排序算法总结|数组和链表实现的对比|leetcode c++
排序算法对比一览图类别 方法 数组实现 链表实现 稳定 时间复杂度 空间复杂度 时间复杂度 空间复杂度 插入排序 直接插入 ✅ shell排序 - - ❌ 交换排序 冒泡排序 ✅ 快速排序 ...原创 2020-02-06 22:38:03 · 707 阅读 · 0 评论 -
【DS】二叉树的Morris Traversal
二叉树的遍历通常有三种方法:1.迭代2.栈实现非迭代3.Morris traversal实现非迭代这三种方法的比较参照这篇中序遍历的题目。Morris traversal利用了线索二叉树,将空间复杂度降为O(1),本篇继续探讨下它的其他遍历的实现。线索二叉树动机1.在一个以链表形式存储的二叉树中,有n个节点,则有(n-1)个节点间指针,而节点结构体用于存储指针...原创 2019-08-26 22:07:07 · 187 阅读 · 0 评论