数据结构
Korey_sparks
菜鸟
展开
-
顺序表及相关操作
线性表是用一组地址连续的存储单元依次存储一组数据,特点是每个数据元素的存储位置相邻其结构体定义如下:#define MAX_SIZE 1000 //顺序表的最大容量#define INIT_SIZE 2 //顺序表的初始大小原创 2016-05-24 11:24:39 · 386 阅读 · 0 评论 -
单链表及其基本操作(C语言实现)
单链表是一种基础线性数据结构,其结构分为数据域和指针域两部分,数据域用于存放数据,可以是一个整型,一个数组,一个结构体等等,指针域用于存放一个指针,指向下一个链表节点,每个节点通过指针联系,其物理地址不一定连续。单链表节点的结构体如下:typedef struct Node{ DataType data; //数据域 struct Node *next; //原创 2016-05-22 12:50:50 · 1971 阅读 · 0 评论 -
贪心算法和动态规划
贪心算法 1.贪心选择性质 所谓贪心选择性质是指所求问题的整体最优解可以通过一系列局部最优的选择,即贪心选择来达到。这是贪心算法可行的第一个基本要素,也是贪心算法与动态规划算法的主要区别。在动态规划算法中,每步所作的选择往往依赖于相关子问题的解。因而只有在解出相关子问题后,才能作出选择。而在贪心算法中,仅在当前状态下作出最好选择,即局部最优选择。然后再去解作出这个选择后产生的相应的子问题。原创 2016-09-10 23:31:53 · 783 阅读 · 0 评论 -
大数据之位图法简单实现
所谓bitmap,就是用每一位来存放某种状态,适用于大规模数据,但数据状态又不是很多的情况。通常是用来判断某个数据存不存在的。 举个栗子,给定40亿个整型数据,现在给一个整数,要求判断这个数在不在这40亿个数据中,先计算一下,40亿个整型,存储占用160亿字节,约16G内存,现在一般的个人计算机有2G和4G的内存,是无法直接计算的,如果分批进行操作,那么开销也非常大。如果使用位图,用一个位标志原创 2016-09-12 13:55:56 · 1466 阅读 · 0 评论 -
C++日期类的实现
AVL树又称为高度平衡的二叉搜索树,是1962年有俄罗斯的数学家G.M.Adel’son-Vel’skii和E.M.Landis提出来的。它能保持二叉树的高度 平衡,尽量降低二叉树的高度,减少树的平均搜索长度。 AVL树的性质 1. 左子树和右子树的高度之差的绝对值不超过1 2. 树中的每个左子树和右子树都是AVL树 3. 每个节点都有一个平衡因子(balance factor–bf),任原创 2016-09-20 21:29:10 · 502 阅读 · 0 评论