在《数据结构与算法分析——C语言描写叙述》的引论中有提到一个问题: 设有一组N个数而要确定当中第k个最大者。 被称为选择问题(selection problem)。 后面有提到两种算法,以下是我依据描写叙述。写的代码: /* * 来源:《数据结构与算法分析》引论 * 题目:选择性问题。从N个数中找出 ...
分类:
编程语言 时间:
2017-05-21 11:54:34
阅读次数:
157
将新的节点插入双向链表的时候: iterator insert(iterator itr,const Object & x)//向双向链表中插入一个x节点 { Node *p = itr.current; theSize++; return iterator(p->prev = p->prev->n ...
分类:
编程语言 时间:
2017-05-20 00:06:57
阅读次数:
219
AVL树节点声明: 1 struct AvlNode 2 { 3 Comparable element; 4 AvlNode *left; 5 AvlNode *right; 6 int height; 7 8 AvlNode( const Comparable & theElement,AvlNo ...
分类:
编程语言 时间:
2017-05-20 00:06:34
阅读次数:
186
树、二叉树、三叉树、平衡排序二叉树AVL 一、树的定义 树是计算机算法最重要的非线性结构。树中每个数据元素至多有一个直接前驱,但可以有多个直接后继。树是一种以分支关系定义的层次结构。 a.树是n(≥0)结点组成的有限集合。{N.沃恩} (树是n(n≥1)个结点组成的有限集合。{D.E.Knuth}) ...
分类:
编程语言 时间:
2017-05-19 00:59:31
阅读次数:
2103
字符串的研究和KMP算法分析和实现 一、串的定义 串是计算机非数值处理的基本对象。串是一种特殊的线性表,它的每个结点仅由一个字符组成,并且单个元素是无意义的。 1、串(string):是由0个或多个字符组成的有限序列,记作: S=“a1a2...an” (n>=0) 其中:S是串名,两个双引号括起来 ...
分类:
编程语言 时间:
2017-05-18 01:13:33
阅读次数:
266
稀疏矩阵的十字链表实现和转置 一、数组和广义表的定义 数组的定义1:一个 N 维数组是受 N 组线性关系约束的线性表。 二维数组的逻辑结构可形式地描述为: 2_ARRAY(D,R) 其中 D={aij} | i=0,1,...,b1-1; j=0,1,...,b2-1;aij∈D0} R={Row, ...
分类:
编程语言 时间:
2017-05-18 01:09:30
阅读次数:
327
栈和队列的相关问题分析 一、栈和队列定义 栈和队列是两种重要的数据结构。从结构特性角度看,栈和队列也是线性表,其特殊性在于它们的基本操作是线性表的子集,是操作受限的线性表,可称为限定性的数据结构;从数据类型角度看,其操作规则与线性表大不相同,是完全不同于线性表的抽象数据类型。 图1 栈的结构 图2 ...
分类:
编程语言 时间:
2017-05-17 20:58:51
阅读次数:
219
枚举法的本质就是从全部候选答案中去搜索正确的解,使用该算法须要满足两个条件: 1、能够先确定候选答案的数量。 2、候选答案的范围在求解之前必须是一个确定的集合。 枚举是最简单。最基础。也是最没效率的算法 枚举法长处: 1、枚举有超级无敌准确性。仅仅要时间足够。正确的枚举得出的结论是绝对正确的。 2、 ...
分类:
编程语言 时间:
2017-05-14 19:36:28
阅读次数:
204
1 写作计划 最近在看《剑指offer》,发现自己有很多的数据结构与算法的基础知识要复习,《好书一起读(131):让写作更好》中提到用写作倒逼阅读,我很是赞同。所以,计划以《剑指offer》为中心,以记录复习心得目的,写一系列数据结构与算法的文章。 文章结构 文章从概念介绍切入,接着介绍相关的语言细... ...
分类:
编程语言 时间:
2017-05-12 10:46:04
阅读次数:
251
国内知名浏览器UC开放技术博客( http://tech.uc.cn/),技术博客所涵盖技术点有: Hadoop Linux MySQL前端与client技术 图像处理 开发语言和框架 数据存储数据结构与算法server与代理server网络编程运维部署 假设大家想在技术上很多其它的与博文的作者交流 ...
分类:
其他好文 时间:
2017-05-12 09:41:31
阅读次数:
162