随笔分类 -  数据结构与算法

摘要:1.排序算法介绍和分类 排序算法介绍:内部排序,外部排序 常见的排序算法分类: 算法的时间复杂度(事前估算的方法): 2.时间频度介绍和特点 时间频度: 时间频度举例说明: 对于时间频度而言,常数项可以忽略: 对于时间频度而言,低次项可以忽略: 对于时间频度而言,系数可以忽略: 3.时间复杂度计算和 阅读全文
posted @ 2021-09-07 21:53 CH0701 阅读(66) 评论(0) 推荐(0)
摘要:43.递归应用场景和调用机制 递归的概念: 打印问题,阶乘问题 44.递归能解决的问题和规划 递归解决什么问题: 递归要遵守的重要规则: 45.迷宫回溯问题分析和实现1 迷宫回溯问题实现代码: map为引用类型 46.迷宫回溯问题分析和实现2,如何求出最短路径,穷举,图 47.八皇后问题分析和实现1 阅读全文
posted @ 2021-09-07 16:56 CH0701 阅读(146) 评论(0) 推荐(0)
摘要:36.前缀,中缀,后缀表达式的规则 前缀表达式: 从右至左扫描表达式 遇到运算符弹出栈顶的两个数,运算后结果入栈 前缀表达式应用实例: 中缀表达式: 利于人理解,对计算机不友好 常转化为后缀表达式来操作 后缀表达式(逆波兰表达式): 后出栈数减去前出栈数(顺序与前缀表达式不一致) 后缀表达式原理即应 阅读全文
posted @ 2021-09-05 23:00 CH0701 阅读(188) 评论(0) 推荐(0)
摘要:数据结构与算法概述 1.字符串匹配,暴力算法(简单,效率低),KMP算法(部分匹配表);汉诺塔,分治算法; 2.八皇后,92种摆法,回溯算法;马踏棋盘,图的深度优化遍历算法(DFS)+贪心算法优化 3.内容包括: 稀疏数组、单向队列、环形队列、单向链表、双向链表、环形链表、约瑟夫问题、栈、前缀、中缀 阅读全文
posted @ 2021-09-04 16:38 CH0701 阅读(573) 评论(0) 推荐(0)
摘要:30.栈的应用场景和介绍 栈的应用场景: 栈的介绍: 31.栈的思路分析和代码实现 数组模拟栈思路分析: 数组模拟栈的具体实现: 栈的构造,栈满,栈空 出栈,入栈 显示栈的情况(遍历,从栈顶到栈底) 32.栈的功能测试和小结 练习:用链表模拟栈 33.栈实现综合计算器思路 34.栈实现综合计算器代码 阅读全文
posted @ 2021-09-04 16:38 CH0701 阅读(73) 评论(0) 推荐(0)
摘要:27.环形链表介绍和约瑟夫问题 单向环形链表应用场景:约瑟夫问题 单项环形列表案例: 约瑟夫问题分析: 使用单项环形链表完成约瑟夫问题(数组取模也可以完成 ) 数到n的节点出列,下一个节点继续报数 最后只剩一个节点时依旧是单项环形链表,它的next指向自己,且它会最后一个出列 28.约瑟夫问题分析图 阅读全文
posted @ 2021-09-04 09:09 CH0701 阅读(74) 评论(0) 推荐(0)
摘要:24.双向链表增删改查分析 单链表缺点:1.查找方向单一;2.节点不能自我删除 双向链表的增删改,遍历思路 25.双向链表增删改查代码实现 数据结构,属性,next,pre class DoubleLinkedList,初始化一个头节点,private HeroNode2 head=new Hero 阅读全文
posted @ 2021-09-03 22:41 CH0701 阅读(70) 评论(0) 推荐(0)
摘要:16.单链表介绍和内存布局;链表(Linked List),有带头结点和不带头结点之分;链式存储,每个结点的位置不确定 17.单向链表的创建和遍历的分析实现 单链表创建示意图(添加),遍历分析: class Node结构: 单链表用一个类来实现class singleLinkedList,将一个个的 阅读全文
posted @ 2021-09-02 12:31 CH0701 阅读(77) 评论(0) 推荐(0)
摘要:10.队列的应用场景,银行排队;队尾rear添加数据,队首front取数据;可以通过数组或链表实现 11.数组模拟队列的思路,Queue类存放数组 问题:数组只能用一次,当数组数据加满后,不能再添加;且数据取出完后,不能再添加数据,front和rear都指向了队尾——>环形队列 当取出元素后,数组的 阅读全文
posted @ 2021-09-01 23:03 CH0701 阅读(152) 评论(0) 推荐(0)
摘要:7.稀疏数组的应用场景:五子棋,存盘退出,续上盘的功能 8.稀疏数组转换的思路分析 9.稀疏数组的代码实现 阅读全文
posted @ 2021-09-01 18:25 CH0701 阅读(45) 评论(0) 推荐(0)
摘要:1.字符串匹配,暴力算法(简单,效率低),KMP算法(部分匹配表);汉诺塔,分治算法; 2.八皇后,92种摆法,回溯算法;马踏棋盘,图的深度优化遍历算法(DFS)+贪心算法优化 3.内容包括: 稀疏数组、单向队列、环形队列、单向链表、双向链表、环形链表、约瑟夫问题、栈、前缀、中缀、后缀表达式、中缀表 阅读全文
posted @ 2021-09-01 18:24 CH0701 阅读(89) 评论(0) 推荐(0)