摘要: DFS         通过一些leetcode上面的题目, 总结出以下类型的题目; 树先序遍历 DFS + 回溯 DFS + 记忆化 DFS + 减枝 DFS 求最短路 DFS 求联通块儿 先序遍历  &nb 阅读全文
posted @ 2019-08-22 20:12 MusaGeek 阅读(176) 评论(0) 推荐(0) 编辑
摘要: BFS         通过一些leetcode上面的题目, 总结出以下类型的题目: 树的层序遍历类型。 搜索联通块。 拓扑排序。 最短路径。 无边权重 有边权重 边界扩展。 增广    & 阅读全文
posted @ 2019-08-15 10:13 MusaGeek 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 二分法小结 通过一些leetcode上面的题目总结一下二分算法 有序二分搜索[无重复元素]。 有序确定边界[有重复元素] 非有序下的搜索[无重复元素]。 非有序下的确定边界[有重复元素]。 有序二分搜索          阅读全文
posted @ 2019-08-06 03:52 MusaGeek 阅读(273) 评论(0) 推荐(0) 编辑
摘要: !!! 注意: 此图是本书中使用的自定的串结构, 下标从1开始的 , 下方代码是使用C风格字符串, 下标从0开始的, 因此上述next[j] 公式修改如下: KMP 算法代码实现: 以普通的C风格字符串作为例子。 #include <stdio.h> #include <string.h> #inc 阅读全文
posted @ 2018-12-08 21:52 MusaGeek 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 总结: 定义:栈是仅限定在表位进行插入和删除的特殊线性表。共享栈可以节省顺序栈的空间的浪费问题。栈的应用:对一个指定的序列产生不一样的顺序的序列。中缀表达式 转换成 后缀表达式, 以及后缀表达式的计算。函数栈 实现函数调用, 递归函数。链栈 和 顺序栈的比较 : 看最后 定义:栈是仅限定在表位进行插 阅读全文
posted @ 2018-12-08 21:29 MusaGeek 阅读(297) 评论(0) 推荐(0) 编辑
摘要: 总结: 定义 : 只允许在一端进行插入操作, 而在另一端进行删除操作的线性表。 是一种FIFO的线性表。顺序结构, 避免数组移动 , 和头指针前面空间的浪费, 使用循环队列循环队列判断 空队列 和 队列满的两种方法1.增加falg标记2.在满时候 rear 和 front 之间空一个元素。满的时候 阅读全文
posted @ 2018-12-08 21:27 MusaGeek 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 总结: 6.1 基础 : 数组 和 函数不能充当返回值, 可以使用指向他们的指针. 自动变量: 生存周期 = 作用域 局部静态变量: 生存周期 > 作用域 函数声明 = 函数原型 6.2 参数传递: 值传递: 变量,指针,函数(传值调用) 引用传递 : 避免大量拷贝,const 修饰能扩大其类型容纳 阅读全文
posted @ 2018-12-08 14:50 MusaGeek 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 总结: 5.3 条件语句: switch 中 case 里面 如果要定义变量给初始值, 请在{}里面操作。 5.6 try 语句: 异常抛出 从 包含try的函数寻找catch,没有找到终止当前函数, 继续调用此函数的函数执行此操作。如果始终没有找到catch 会转到名为terminate的标准库函 阅读全文
posted @ 2018-12-08 14:48 MusaGeek 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 总结 2.1 : 基本内置类型 2.1.1 算术类型 - 浮点直接使用double - char当1字节整数使用 指明 unsigned 和 signed - 超过 int 的类型直接使用 long long 2.1.2 类型转换: - 超出范围类型 -> int 结果是为定义的 - 无符号不要使用 阅读全文
posted @ 2018-11-26 19:28 MusaGeek 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 1.1 编写一个简单程序: 1.1.1 编译运行程序 : 操作系统调用main , 且其返回值必须为int , 表示状态 , 0 表示成功 , 非 0 由操作系统决定是什么意思 函数定义包含四个部分: return type , function name , paramters list , fu 阅读全文
posted @ 2018-11-17 23:30 MusaGeek 阅读(116) 评论(0) 推荐(0) 编辑