随笔分类 -  数据结构

摘要:双向链表概述双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继next和直接前驱prev。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。为了标识链表的头和尾,将第一个元素的prev指针和最后一个元素的next指针设置为NULL要反向遍... 阅读全文
posted @ 2014-10-23 13:49 wuyudong 阅读(2370) 评论(2) 推荐(2) 编辑
摘要:单链表概述单向链表(单链表)是链表的一种,其特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部开始。从概念上讲,可以把链表想象成一系列连续的元素,然而,由于这些元素是动态分配的(C语言中使用malloc),切记这些元素通常实际上都是分散在内存空间的欢迎关注我的个人博客:www.wuyud... 阅读全文
posted @ 2014-10-22 22:35 wuyudong 阅读(2992) 评论(2) 推荐(5) 编辑
摘要:基本概念和性质在计算机科学中,trie,又称前缀树或字典树或单词搜索树,是一种有序树,用于保存关联数组,其中的键通常是字符串。与二叉查找树不同,键不是直接保存在节点中,而是由节点在树中的位置决定。一个节点的所有子孙都有相同的前缀,也就是这个节点对应的字符串,而根节点对应空字符串。一般情况下,不是所有... 阅读全文
posted @ 2014-10-04 23:44 wuyudong 阅读(2665) 评论(0) 推荐(5) 编辑
摘要:二叉查找树(Binary Search Tree),也称二叉排序树(binary sorted tree),是指一棵空树或者具有下列性质的二叉树:若任意节点的左子树不空,则左子树上所有结点的值均小于它的根结点的值任意节点的右子树不空,则右子树上所有结点的值均大于它的根结点的值任意节点的左、右子树也分... 阅读全文
posted @ 2014-06-15 22:12 wuyudong 阅读(6760) 评论(2) 推荐(6) 编辑
摘要:堆(heap) 亦被称为:优先队列(priority queue),是计算机科学中一类特殊的数据结构的统称。堆通常是一个可以被看做一棵树的数组对象。在队列中,调度程序反复提取队列中第一个作业并运行,因而实际情况中某些时间较短的任务将等待很长时间才能结束,或者某些不短小,但具有重要性的作业,同样应当... 阅读全文
posted @ 2014-06-11 21:03 wuyudong 阅读(3125) 评论(4) 推荐(6) 编辑
摘要:在一些有N个元素的集合应用问题中,我们通常是在开始时让每个元素构成一个单元素的集合,然后按一定顺序将属于同一组的元素所在的集合合并,其间要反复查找一个元素在哪个集合中。这一类问题其特点是看似并不复杂,但数据量极大,若用正常的数据结构来描述的话,往往在空间上过大,计算机无法承受;即使在空间上勉强通... 阅读全文
posted @ 2014-06-10 12:57 wuyudong 阅读(2212) 评论(6) 推荐(4) 编辑
摘要:1、概述线段树,也叫区间树,是一个完全二叉树,它在各个节点保存一条线段(即“子数组”),因而常用于解决数列维护问题,基本能保证每个操作的复杂度为O(lgN)。线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。对于线段树中的每一个非叶子节点[a... 阅读全文
posted @ 2014-06-07 02:05 wuyudong 阅读(2726) 评论(0) 推荐(2) 编辑
摘要:基本概念 在计算机科学中,二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。本文地址:http://www.cnblogs.com/archimedes/p/binary-t... 阅读全文
posted @ 2014-06-04 02:26 wuyudong 阅读(3830) 评论(0) 推荐(2) 编辑
摘要:基本概念定义:栈是限定仅在表尾进行插入和删除操作的线性表。栈作为一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表。它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。栈具有记忆作用,对栈的插入与删除操作... 阅读全文
posted @ 2014-06-03 00:19 wuyudong 阅读(1275) 评论(0) 推荐(0) 编辑
摘要:队列(queue),是先进先出(FIFO, First-In-First-Out)的线性表。在具体应用中通常用链表或者数组来实现。队列只允许在后端(称为rear)进行插入操作,在前端(称为front)进行删除操作。本文地址:http://www.cnblogs.com/archimedes/p/qu... 阅读全文
posted @ 2014-06-02 23:57 wuyudong 阅读(950) 评论(0) 推荐(0) 编辑
摘要:本文地址:http://www.cnblogs.com/archimedes/p/link-list.html,转载请注明源地址。单向链表的表示与实现单向链表(单链表)是链表的一种,其特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部开始。链表中最简单的一种是单向链表,它包含两个域,一个... 阅读全文
posted @ 2014-06-02 21:33 wuyudong 阅读(1205) 评论(0) 推荐(0) 编辑
摘要:顺序表是在计算机内存中以数组的形式保存的线性表,是指用一组地址连续的存储单元依次存储数据元素的线性结构。线性表采用顺序存储的方式存储就称之为顺序表。顺序表是将表中的结点依次存放在计算机内存中一组地址连续的存储单元中。本文地址:http://www.cnblogs.com/archimedes/p... 阅读全文
posted @ 2014-06-02 20:51 wuyudong 阅读(1317) 评论(3) 推荐(1) 编辑

点击右上角即可分享
微信分享提示