- 博客(15)
- 资源 (34)
- 收藏
- 关注
转载 (转载)一种简单而有趣的数据结构——并查集
一种简单而有趣的数据结构——并查集作者:goal00001111(高粱) 一个秘密生物武器落到某地区,导致当地村民丧失部分记忆,只认得自己最熟悉的人,而忘记自己是哪个村子的人了。大家汇集到一个广场,寻找自己同村的亲人。很不幸你就是其中的一员,记忆中只认得你的爸爸,妈妈还有妹妹了,然后爸爸又认出了叔叔,叔叔找到了婶婶,这样你们的家庭成员就逐渐扩大起来。 寻亲工作仍在继续,
2014-09-29 20:20:12 1300
原创 赫夫曼编码(优先队列实现)
采用优先队列把一个普通线性表改造成赫夫曼树,再进行赫夫曼编码,得到一个同时记录了明文和对应编码的密码本。使用优先队列(最小堆)构造赫夫曼树是一种高效的方法,比每次都遍历整个线性表要快很多。我在构造密码本时确保密码本数组递增排序,这样每次插入新结点时可以折半查找插入,效率较高。有序的密码本在把明文编码成密文时也可以大大提高查找效率。
2014-09-28 12:25:39 1547
原创 《大话数据结构》读书笔记之二叉堆基本操作(最大堆)
/*Name: 二叉堆基本操作(最大堆) Copyright: Author: 巧若拙 Date: 24-09-14 20:26Description: 实现的最大堆的基本操作,包括向上,或向下调整二叉堆的第pos个元素,使其满足最大堆的特征;构造最大堆,利用最大堆进行堆排序和找第k大的数。如果要构造最小堆,则只需改变一下调整二叉堆时判断的条件即可。 */
2014-09-25 20:36:59 802
原创 二叉树非递归遍历算法详解
二叉树的递归算法很容易实现,而且简明易懂,但非递归算法就不是那么好理解了。本文将结合代码详细解释遍历二叉树的三种不同方式。
2014-09-20 21:47:17 1348 1
原创 科学计算器(可实现带括号的浮点数四则运算)
对近阶段所学的一个小总结,综合了字符串与浮点数转换技术,利用逆波兰表达式,能顺利解决带括号的浮点数四则运算,并使用了文件操作,能够从文本文件中读入表达式并输出答案。
2014-09-15 21:47:06 4821
原创 《大话数据结构》读书笔记之 队列抽象数据类型(数组实现循环队列)
/*Name: 队列抽象数据类型(使用数组实现循环队列) Copyright: Author: 巧若拙 Date:15/09/14 09:08Description: */#include#include#include#include#define MAXSIZE 10#define OK 1#define ER
2014-09-15 10:58:04 698
原创 《大话数据结构》读书笔记之栈抽象数据类型(链表实现)
/*Name: 栈抽象数据类型(使用链表实现) Copyright: Author: 巧若拙 Date:13-09-14 19:02Description: */#include#include#include#include#define MAXSIZE 10#define OK 1#define ERROR 0#defin
2014-09-13 19:45:12 643
原创 《大话数据结构》读书笔记之栈抽象数据类型(数组实现)
/*Name: 栈抽象数据类型(使用数组实现) Copyright: Author: 巧若拙 Date:13-09-14 18:28Description: */#include#include#include#include#define MAXSIZE 10#define OK 1#define ERROR 0#defin
2014-09-13 19:42:15 756
原创 《大话数据结构》读书笔记之线性表抽象数据类型(双向循环链表实现)
/*Name: 线性表抽象数据类型(使用双向循环链表实现) Copyright: Author: 巧若拙 Date:13-09-14 17:07Description: */#include#include#include#include#define MAXSIZE 10#define OK 1#define ERROR 0
2014-09-13 19:39:14 854 1
原创 《大话数据结构》读书笔记之线性表基本操作(单链表实现)
/*Name: 线性表抽象数据类型(使用单链表实现) Copyright: Author: 巧若拙 Date:11-09-14 23:34Description: */#include#include#include#include#define MAXSIZE 10#define OK 1#define ERROR 0#de
2014-09-11 23:33:20 863 1
原创 选择排序法及其优化
选择排序法及其优化巧若拙 选择排序基础算法是每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。选择排序基础算法代码如下:void SelectSort_1(int vec[], int n) //选择排序基础算法 { inti, j, min; inttemp;
2014-09-09 18:12:46 1033
原创 浅议“删除向量(数组)中多余元素”的基本操作及其优化
浅议“删除向量(数组)中多余元素”的基本操作及其优化巧若拙 向量(数组)是一种紧凑的数据结构,向量的各种基本操作代码简单,容易理解,但由于在执行“插入”和“删除”操作时,需要移动大量元素,尤其在删除多个元素时,可能会产生大量重复移动,效率低下。本文以“删除一个有序向量中多余的值相同的元素”为例,分析“删除向量中多余元素”的基本操作及其优化方法。一,基本思想:该算法的基本思想
2014-09-09 09:31:18 1816
原创 《大话数据结构》读书笔记之线性表基本操作(数组实现)
/*Name: 线性表抽象数据类型(使用数组实现) Copyright: Author: 巧若拙 Date: 08-09-14 14:38Description: */#include#include#include#include#define MAXSIZE 10#define OK 1#define ERROR 0#de
2014-09-08 16:09:17 677 1
原创 各种插入排序算法小结
各种插入排序算法小结巧若拙直接插入排序是将元素vec[i]插入到有序序列vec[0..i-1], 依次将vec[i]与vec[i-1],vec[i-2],...进行比较,找到插入位置即将vec[i]插入,原来位置上的对象向后顺移。直接插入算法代码如下:voidInsertSort_1(int vec[], int n) //直接插入排序 { int i, j;
2014-09-06 11:50:32 1184 1
C++程序设计陷阱
2016-07-06
程序员面试指导
2014-12-13
重构 改善既有代码的设计 中文版
2014-10-17
Effective C++改善程序与设计的55个具体做法 云风评注版
2014-10-14
编程之魂:与27位编程语言创始人对话
2014-10-14
改变未来的九大算法
2014-10-14
《( 如何求解问题——现代启发式方法》
2014-10-13
《奇思妙想:15位计算机天才及其重大发现》
2014-10-13
算法导论思考题
2014-10-11
计算机怎样解几何题
2014-10-11
遗传算法的数学基础
2014-10-11
柔性字符串匹配
2014-10-04
《算法之道》第二版(超清晰)
2014-10-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人