博客专栏  >  编程语言   >  VC++2012编程演练数据结构

VC++2012编程演练数据结构

主要基于Visual Studio2012 实践中演练数据机构,算法。在实践中学习数据机构,实践中学习算法。

关注
8 已关注
35篇博文
  • VC++2012编程演练数据结构《1》循环双端队列

    循环队列中,由于入队时尾指针向前追赶头指针;出队时头指针向前追赶尾指针,造成队空和队满时头尾指针均相等。因此,无法通过条件front==rear来判别队列是"空"还是"满"。队列的操作特点是“先进先出...

    2012-11-19 15:57
    5069
  • VC++2012编程演练数据结构《2》单循环链表与约瑟夫问题

    循环链表(Circular Linked List)是一种首尾相接的链表,它与单链表的唯一区别在于对尾结点的处理;因为在单链表中尾结点的指针域NULL改为指向头结点就得到了单循环链表。单循环链表可以用...

    2012-11-19 16:42
    2864
  • VC++2012编程演练数据结构《3》堆栈实现进制转换

    栈作为一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表。它按照后进先出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出...

    2012-11-19 17:07
    2227
  • VC++2012编程演练数据结构《4》队列实现检验回文数

    队列是一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。  在队列...

    2012-11-19 17:45
    2016
  • VC++2012编程演练数据结构《5》堆栈实现解析任意计算表达式

    栈作为一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表。它按照后进先出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出...

    2012-11-19 18:10
    1991
  • VC++2012编程演练数据结构《6》优先级队列演练

    如果我们给每个元素都分配一个数字来标记其优先级,不妨设较小的数字具有较高的优先级,这样我们就可以在一个集合中访问优先级最高的元素并对其进行查找和删除操作了。这样,我们就引入了优先级队列 这种数据结构。...

    2012-11-19 18:26
    1878
  • VC++2012编程演练数据结构《5》堆栈实现递归运算

    栈作为一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表。它按照后进先出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出...

    2012-11-19 18:40
    1723
  • VC++2012编程演练数据结构《8》回溯法解决迷宫问题

    回溯法(探索与回溯法)是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个...

    2012-11-19 19:05
    2477
  • VC++2012编程演练数据结构《9》平衡二叉搜索树

    平衡二叉搜索树  任何结点的左子树和右子树高度最多相差1的二叉搜索树。  (1)AVL树的插入算法  a. 插入结点之后仍然是AVL树,则不调整;  b. 插入结点之后不再满足AVL树条件,则进行调整...

    2012-11-19 19:49
    1616
  • VC++2012编程演练数据结构《11》哈希表

    散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列...

    2012-11-19 20:07
    1811
  • VC++2012编程演练数据结构《12》二叉排序树

    二叉排序树(Binary Sort Tree)又称二叉查找树。 它或者是一棵空树;或者是具有下列性质的二叉树: (1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值; (2)若右子树不空,则...

    2012-11-19 20:20
    1721
  • VC++2012编程演练数据结构《13》单链表

    单链表简介    用一组地址任意的存储单元存放线性表中的数据元素。  以元素(数据元素的映象)  + 指针(指示后继元素存储位置)  = 结点  (表示数据元素 或 数据元素的映象)  以“结点的序列...

    2012-11-20 11:02
    2110
  • VC++2012编程演练数据结构《14》链式堆栈

    链式存储结构特点:  在计算机中用一组任意的存储单元存储线性表的数据元素(这组存储单元可以是连续的,也可以是不连续的).  它不要求逻辑上相邻的元素在物理位置上也相邻.因此它没有顺序存储结构所具有的弱...

    2012-11-20 11:28
    1645
  • VC++2012编程演练数据结构《15》双循环链表

    双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向循环链表...

    2012-11-20 12:04
    1902
  • VC++2012编程演练数据结构《16》广义表

    广义表是一种非线性的数据结构,顾名思义,它也是线性表的一种推广。它被广泛的应用于人工智能等领域的表处理语言LISP语言中。在LISP语言中,广义表是一种最基本的数据结构,就连LISP 语言的程序也表示...

    2012-11-20 12:32
    2107
  • VC++2012编程演练数据结构《17》稀疏矩阵

    如果在矩阵中,多数的元素为0,称此矩阵为稀疏矩阵(sparse matrix)。由于矩阵在程序中常使用二维阵列表示,二维阵列的大小  稀疏矩阵与使用的存储器空间成正比,如果多数的元素没有数据,则会造成...

    2012-11-20 13:38
    2393
  • VC++2012编程演练数据结构《18》KMP算法

    KMP算法是通过分析子串,预先计算每个位置发生不匹配的时候,所需GOTO的下一个比较位置,整理出来一个next数组,然后在上面的算法中使用。Knuth-Morris-Pratt Algorithm,简...

    2012-11-20 13:58
    2398
  • VC++2012编程演练数据结构《19》散列文件

    散列文件是利用散列存储方式组织的文件,亦称为直接存取文件。它类似于散列表[1],即根据文件中关键字的特点,设计一个散列函数和处理冲突的方法,将记录散列到存储设备上。  与散列表不同的是,对于文件来说,...

    2012-11-20 14:37
    2341
  • VC++2012编程演练数据结构《20》索引文件

    索引文件由索引表和主文件两部分构成。  索引表是一张指示逻辑记录和物理记录之间对应关系的表。索引表中的每项称作索引项。索引项是按键(或逻辑记录号)顺序排列。若文件本身也是按关键字顺序排列,则称为索引顺...

    2012-11-20 14:50
    2117
  • VC++2012编程演练数据结构《21》二叉排序树

    二叉排序树(Binary Sort Tree)又称二叉查找树。 它或者是一棵空树;或者是具有下列性质的二叉树: (1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值; (2)若右子树不空,则...

    2012-11-20 15:02
    2362
img博客搬家
img撰写博客
img专家申请
img意见反馈
img返回顶部