算法和数据结构
文章平均质量分 76
gls_jia
追寻那遥遥领先
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
最小优先级队列 — 使用最小堆实现
最小优先级支持的操作: 1.INSERT(S,x):将元素x插入队列S 2.MINIMUM(S):返回S中最小的元素 3.EXTRACT_MIN(S):去掉并返回S中最小的元素 4.DECREASE_KEY(S,x,key):将下标为x的元素值降低为key 使用最原创 2011-09-11 12:25:15 · 5214 阅读 · 0 评论 -
字符串匹配算法原理简述
1:问题描述:给定文本串,长度n;给定模式串,长度m,求模式串在文本串中出现的起始位置 2:几种字符串匹配算法:处理时间 = 预处理时间 + 匹配时间 算法 预处理时间 匹配时间 朴素的模式匹配 0 o((n-m+1)*m) Rabin-Karp o(m) o((n原创 2010-08-11 09:26:00 · 1135 阅读 · 0 评论 -
二叉树<总结二>
二叉树基本知识点2: 二叉树的非递归后序遍历 前序遍历是:根、左、右,后序遍历是:左、右、根,观察发现:前序和后序刚好遍历顺序相反。由于非递归后序遍历需要保存根节点及第几次访问,比较麻烦。可以将整个过程变为先非递归前序遍历,将结果保存,再将结果翻转即可。 已知二叉树的前序、中序序列,求后序序列 void suffix_order(char* pre_order, char* i原创 2011-09-11 12:17:09 · 932 阅读 · 0 评论 -
回溯法原理及应用
回溯的基本原理: 在问题的解空间中,按深度优先遍历策略,从根节点出发搜索解空间树。算法搜索至解空间的任意一个节点时,先判断该节点是否包含问题的解。如果肯定不包含,跳过对以该节点为根的子树的搜索,逐层向其祖先节点回溯,否则进入该子树,继续深度优先搜索。 回溯法解问题的所有原创 2011-09-15 12:10:25 · 6576 阅读 · 0 评论 -
C库函数—strcpy实现
strcpy:将原串拷贝到目的串,不拷贝NULL 以下为具体实现: #include #include #include char * strcpy(char * strDest, const char * strSrc){ if(NULL == strS原创 2011-09-11 12:35:40 · 857 阅读 · 0 评论 -
链表<总结一>
链表的基本知识点: 单链表逆置 判断链表是否有环 从无头单链表中删除节点 判断两个单链表是否相交 从无头单链表中删除节点: 假设有一个没有头指针的单链表。一个指针指向此单链表中间的一个节点(不是第一个,也不是最后一个),请将该节点从单链表中删除。 解答:将该指原创 2011-09-11 12:38:21 · 848 阅读 · 0 评论 -
二叉树<总结一>
二叉树的知识点1: 二叉树存储结构 前序建立二叉树 前序遍历、中序遍历、后序遍历(递归、非递归) 二叉树节点总数 二叉树叶子节点数 二叉树深度 遍历二叉树第i层节点 分层遍历二叉树(递归、非递归) 求二叉树中节点的最大距离 已知前序、中序,重建二叉树:原创 2011-09-11 12:09:50 · 961 阅读 · 0 评论 -
贪心算法的几个应用
贪心算法具有2个性质: 1、贪心选择性质:只在当前状态下做最优选择,即局部最优选择,再自顶向下,去解做出这个选择后产生的相应子问题。每做一次选择,问题就转化为规模更小的子问题。对于一个具体问题,要确定它是否具有贪心选择性质,必须证明每一步做出的选择最终导致问题的整体最优解。原创 2011-09-11 12:30:25 · 1399 阅读 · 0 评论 -
trie树简介
trie树:又名字典树,是以空间换时间的字符树 trie树示例:(手绘) trie树的操作: create a trie insert a word find a word destroy a trie trie树的数据结构:以字符只有26个英文字母为例,静态分配空间 struct Trie{ int num; //how many words can reach原创 2010-08-11 00:35:00 · 1423 阅读 · 2 评论
分享