首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
数据结构与算法
用户2869596166356
创建于2021-10-27
订阅专栏
记录数据结构与算法学习心得与总结
暂无订阅
共10篇文章
创建于2021-10-27
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
算法 -- 倍率实验
今天学习到一个有意思的算法结论 如果 T(N) ~ aN^b * logN,那么 T(2N)/T(N) ~ 2^b。 实验对象:ThreeSum算法 时间复杂度为O(n^3) 时间测试方法 实验结果
数据结构 -- 03 -- 二叉树
二叉树的定义: 树中结点度数不大于2的有序树 特性: 设当前结点序号(层序)为i 左孩子:i * 2 + 1; 右孩子:i * 2 + 2; 先序|中序, 先序|后序, 中序|后序, 层序|中序可以确
数据结构 -- 01 -- 向量与列表
向量(Vector) 定义:物理上使用连续的地址空间,逻辑上也是连续的 在Java中很少见到会使用向量这个数据结构,主要原因是JDK早期的版本对于基本数据结构太过于追求线程安全,最终导致了运行效率过低
数据结构 -- 02 -- 栈与队列
栈 栈结构的特点: 后进先出 应用场景举例: 1.进制转换问题: 2.括号(多种)匹配问题: 3.火车进栈问题: 4.表达式求值问题: 5.逆波兰式: 后续代码日后补上 队列 队列结构的特点:尾进头出
算法 -- 01 -- 关于有序向量查找的优化
1.总所周知 从1~n枚举可以查找出给定数的位置, 但是时间复杂度为O(n); 2.二分查找优化,时间复杂度为O(1.5logn); 递推公式 : T(n) = T(n / 2) + O(1) 这里需
LeetCode -- 17. 电话号码的字母组合
在做这个题的时候遇到了一个问题,当变量设为静态之后,在LeetCode提交的时候需要调用clear()函数清空值。这也涉及到静态变量是在类加载的时候初始化,是所有对象共有的
算法 -- 02 -- 并查集
朴素并查集 836. 合并集合 - AcWing题库 思想:可以将每个集合想像成一颗树,根节点代表这棵树所属的集合 根节点 p[x] = x; 子节点 p[son] = x; 每次合并两个集合就是将一
算法 -- 05 -- 最小生成树-kruskal
kruskal求最小生成树 1.从小到大排序所有边 2.初始化并查集节点 3.从小大大枚举所有边,如果两个点不在同一集合,则合并。 ~~~~
算法 -- 04 -- 图论-最短路问题
dijkstra算法 用于图论中求解最短路问题 思想是枚举距离初始点最近的点,并且把这个点相关的边更新,通过枚举n - 1次,我们就可以枚举出到达n的最短路径 不要忘记初始化dist[1] = 0 A
算法 -- 03 -- DFS 与 BFS 综合学习(面向场景选择算法)
1.dfs为深度搜索算法 可以在脑海中想像一颗树, 从根节点开始选择左子节点或右子节点向下并且标记,直到到达叶子结点。 回溯到上一层,看是否存在未被标记的节点,然后向下走。 应用场景: 1.排列组合问