数据结构与算法
文章平均质量分 65
janewash
点点点 + 测试开发 = 好的测试,都是有效测试手段
展开
-
【数据结构与算法】2.1 递归&回溯&数论
算法思想:递归&分治&回溯原创 2022-07-18 20:54:54 · 228 阅读 · 0 评论 -
【数据结构与算法】1.2 队列
队列:是一个特殊的线性表,遵循先进先出(FIFO)原则,不允许插队。在front端(队头)进行删除操作,在表的rear端(队尾)进行插入操作。和栈一样,队列是操作受限制的线性表。 队列的特点: a. 线性表:数组/链表 b. FIFO 队列的分类: 顺序(单向)队列——Queue:只能在一段插入数据,另一端删除数据; 循环(双向)队列——Deque:每一段都可以进行插入数据和删除数据的操作。 优先队列:按优先级进行插入的队列——在插入数据的时候,...原创 2022-03-01 22:03:31 · 158 阅读 · 0 评论 -
【数据结构与算法】1.1 栈
栈:是一个线性表,特殊的链表或者数组,遵循先进后出原则(FILO). 应用场景:浏览器的“前进”“后退”导航功能 栈和数组/链表的区别:数组和链表暴露很多接口,实现上更灵活;栈限制了操作的可能性,在某些场景下,是更适合的数据结构。(栈的基本方法:push, pop, size(), isEmpty()) 栈的分类: 1. 基于数组的栈:以数组为底层数据结构,通常以数组头为栈底,数组头到尾为栈顶的生长方向 2. 基于单链表的栈:以链表为底层的数据结构,以链表头为栈顶,便于节点的插入与删除,压栈产生的原创 2022-03-01 15:48:52 · 198 阅读 · 0 评论 -
【数据结构与算法】0. 开篇
时间复杂度: 总结: a. 在logn复杂度的代码块外部有个for(O(n))的循环,此时整个代码块的时间复杂度是nlogn b. 在O(n)复杂度的代码块外部有个O(n)的结构,例如循环,此时整个代码块的时间复杂度是O(n^2) 1. 代码块中,若n是可预见的次数,则简化为O(1) 2. 同样的代码块中,若n是不可预见的次数,例如从数据库中查询到的数据量,则O(1)的复杂度进化为线性复杂度:O(n) 时间复杂度效率: O(1)>O...原创 2022-02-24 14:42:38 · 294 阅读 · 0 评论 -
【数据结构与算法】1.0数组与链表
数组 Q1:有一个数据文件,其中包含了全国人民的年龄数据(txt文件大小5G),现在要统计每一个年龄有多少人,已知如下运行条件:单台服务器,2CPU,2G内存,不得使用线程的内容,比如map等 A:解答思路:1. 磁盘文件太大,无法一次读取文件 2. 不允许使用map等容器,但是必须要进行分类统计 3. 这是一道算法题,最好不使用分布式处理 demo: InputStreamReader isr = new InputStreamReader(new FileInputStream(filen原创 2022-02-26 16:56:59 · 295 阅读 · 0 评论