随笔分类 - 数据结构
摘要:计算函数运行时间 #include <stdio.h> #include <time.h> #include <math.h> clock_t start,stop; //clock_t 是函数clock()返回数的数据类型 double duration; int main() { start=c
阅读全文
摘要:重点树 bst bbst(AVL) 红黑树 伸展树 B树 B+树 B*树 k-d树 trie树(字典树) 区间树与线段树 二叉树 二叉树的操作 一个一般意义上的多叉树是可以转换为一个二叉树的 根据中序遍历+前序或后续的一个,就可以构造出一颗树 前序+后序 与 真二叉树 是可以还原真二叉树 真二叉树:
阅读全文
摘要:堆栈的应用场合 逆序输出:处理与输出次序的过程颠倒;递归深度与输出长度不易预知 递归嵌套 延迟缓存 栈式计算 逆序输出 进制转换 十进制转换为其他进制的过程,计算是从上至下,输出是从下往上 括号匹配:遇到‘(’就进栈,遇到‘ ) ’就出栈 扩展:多种括号匹配(,(),[]),无论是什么类的左括号,只
阅读全文
摘要:数据结构与算法 思想 1:将原始问题划分或归纳总结为规模较小的子问题(可以减半,也可以减一) 2:递归或迭代求解每个子问题 3:将子问题的解综合得到原问题的解 实现 算法的实现可以是迭代,也可以是递归 分析方法:递推方程 注意 1:子问题与原问题性质完全一致 2:子问题之间可彼此独立求解 3:递归停
阅读全文
摘要:KMP KMP实现 //求一个字符串在另一个字符串出现的第一个位置 # include <stdio.h> # include <string.h> # include <stdlib.h> int* NextImprove(char *P) { int m=strlen(P),j=0; //主串指
阅读全文
摘要:递归型 记忆递归型 优点:只经过有用的状态,没有浪费。递推型会查看一些 没用的状态,有浪费。 缺点:可能会因递归层数太深导致栈溢出,函数调用带来额外时间开销。总体来说,比递推型慢 递推型 “人人为我”递推型(推荐):在选取最优备选状态的值Fm,Fn,…Fy时, 有可能有好的算法或数据结构可以用来显
阅读全文

浙公网安备 33010602011771号