回溯法 -数据结构与算法 回溯法 -数据结构与算法 1.回溯法算法思想: 定义: 回溯法(探索与回溯法)是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯 ...
分类:
编程语言 时间:
2016-05-01 06:35:36
阅读次数:
286
简介:
不相交集类是将一些元素合并为不相交的各个集合。在同一个集合中的元素两两等价,不同集合中的元素不等价。
1.等价关系
等价关系必须满足下面三个性质:
(1):自反性,对于集合S中的任意元素a,a R a;(R为定义的关系,比如R为=等等)
(2);对称性,a R b当且仅当b R a
(3):传递性,若a R b且b R c,则a R c
2.动态等价性问题
...
分类:
编程语言 时间:
2016-04-29 18:27:28
阅读次数:
239
数据结构与算法——图的邻接表表示法类的C++实现...
分类:
编程语言 时间:
2016-04-29 16:19:47
阅读次数:
266
数据结构与算法——有向无环图的拓扑排序C++实现...
分类:
编程语言 时间:
2016-04-29 15:09:52
阅读次数:
281
简介:
不相交集类是将一些元素合并为不相交的各个集合。在同一个集合中的元素两两等价,不同集合中的元素不等价。
1.等价关系
等价关系必须满足下面三个性质:
(1):自反性,对于集合S中的任意元素a,a R a;(R为定义的关系,比如R为=等等)
(2);对称性,a R b当且仅当b R a
(3):传递性,若a R b且b R c,则a R c
2.动态等价性问题
...
分类:
编程语言 时间:
2016-04-26 20:50:06
阅读次数:
226
由于自己在对数组操作这块比较薄弱,然后经高人指点,需要好好的攻读一下这本书籍,原本想这个书名就比较高深,这下不好玩了。不过看着看着突然觉得讲的东西都比较基础。不过很多东西,平时还是没有注意到,故写出读书笔记和诸君共勉! 第二张 2.2.1 创建一个数组 2.2.2 读写数组 2.2.3 由字符串生成 ...
分类:
编程语言 时间:
2016-04-25 13:16:08
阅读次数:
323
1. 散列的概念 散列方法的主要思想是根据结点的关键码值来确定其存储地址:以关键码值K为自变量,通过一定的函数关系h(K)(称为散列函数),计算出对应的函数值来,把这个值解释为结点的存储地址,将结点存入到此存储单元中。检索时,用同样的方法计算地址,然后到相应的单元里去取要找的结点。通过散列方法可以对 ...
分类:
编程语言 时间:
2016-04-23 15:02:42
阅读次数:
262
每两个做输入,先在输入中比大小; 较小者去比较最小记录,较大者去比较最大记录; 建堆; 取K次最大 要求取最大/最小; 可增加、删除元素; 取最大/最小 O(logN) 增加/删除 O(logN) 冲突解决方法: 线性探测法,开链法(申请、释放内存,效率低) 当填充因子较大,需要再哈希 某个; 知前 ...
分类:
编程语言 时间:
2016-04-23 13:25:06
阅读次数:
220
一、链表
链表是一种动态集合,它是由一系列元素组成的一个列表。
数组也可以实现列表这种数据结构,但数组是静态的,而链表是动态。
通常,我们定义一个结点类(或结构体)来表示链表的元素,它由两部分组成:数值域和指针域。数值域存储当前结点的键,指针域存储下一个节点的地址。...
分类:
编程语言 时间:
2016-04-22 20:55:16
阅读次数:
268
1. 二叉查找树 二叉查找树(Binary Search Tree)/ 有序二叉树(ordered binary tree)/ 排序二叉树(sorted binary tree) 1). 若任意节点的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 2). 若任意节点的右子树不空,则右子树上 ...
分类:
编程语言 时间:
2016-04-22 16:04:12
阅读次数:
205