数据结构学习
文章平均质量分 80
nashouat
这个作者很懒,什么都没留下…
展开
-
树的基本定义
树的定义: 专业定义: 1. 有且只有一个称为根的节点 2. 有若干个互不相交的子树,这些子树本身也是一棵树。 通俗的定义: 1. 树是由节点和边组成 2. 每个节点只有一个父节点但可以有多个子节点 3. 但有一个节点例外,该节点没有父节点,此节点称为根节点。转载 2013-01-09 22:32:37 · 726 阅读 · 0 评论 -
图解数据结构 -------二叉查找树及平衡二叉查找树
十、二叉查找树(BST)前一篇介绍了树,却未介绍树有什么用。但就算我不说,你也能想得到,看我们Windows的目录结构,其实就是树形的,一个典型的分类应用。当然除了分类,树还有别的作用,我们可以利用树建立一个非常便于查找取值又非常便于插入删除的数据结构,这就是马上要提到的二叉查找树(Binary Search Tree),这种二叉树有个特点:对任意节点而言,左子(当然了,存在的话)的值总是小于转载 2013-01-10 22:44:12 · 821 阅读 · 0 评论 -
二叉树、B-树、B+树、B*树
二叉树 1.所有非叶子结点至多拥有两个儿子(Left和Right); 2.所有结点存储一个关键字; 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树; 如: 二叉树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中;否则,如果查询关键字转载 2013-01-11 20:45:34 · 7059 阅读 · 0 评论 -
散列
一)散列的基本概念散列方法的主要思想是根据结点的关键码值来确定其存储地址:以关键码值K为自变量,通过一定的函数关系h(K)(称为散列函数),计算出对应的函数值来,把这个值解释为结点的存储地址,将结点存入到此存储单元中。检索时,用同样的方法计算地址,然后到相应的单元里去取要找的结点。通过散列方法可以对结点进行快速检索。散列(hash,也称“哈希”)是一种重要的存储方式,也是一种常见的检索方法。转载 2013-01-13 20:06:44 · 914 阅读 · 0 评论 -
优先队列——二叉堆、d堆、左式堆、斜堆
完整的PPT下载:http://download.csdn.net/detail/sangni007/4850483 实现优先队列结构主要是通过堆完成,主要有:二叉堆、d堆、左式堆、斜堆、二项堆、斐波那契堆、pairing 堆等。 1. 二叉堆 1.1. 定义完全二叉树,根最小。存储时使用层序。 1.2. 操作(1). insert(上滤)转载 2013-01-14 15:28:13 · 1988 阅读 · 1 评论 -
优先队列三大结构之一——二项堆
这三篇文章主要讲解二项堆、斐波那契堆、Pairing 堆,这三种结构主要用于优先队列的实现。资料主要参考《算法导论》和或互联网。 《算法导论》第19章讲到了二项堆 1.二项堆简介 二项堆是二项堆是由一组二项树组成转载 2013-01-15 19:59:58 · 1115 阅读 · 0 评论 -
C语言几个排序算法
/*=============================================================================相关知识介绍(所有定义只为帮助读者理解相关概念,并非严格定义):1、稳定排序和非稳定排序 简单地说就是所有相等的数经过某种排序方法后,仍能保持它们在排序之前的相对次序,我们就说这种排序方法是稳定的。反之,就是非稳定的转载 2013-01-16 21:35:43 · 442 阅读 · 0 评论 -
各种排序算法及其java程序实现 .
各种排序算法:冒择路(入)兮(稀)快归堆,桶式排序,基数排序冒泡排序,选择排序,插入排序,稀尔排序,快速排序,归并排序,堆排序,桶式排序,基数排序一、冒泡排序(BubbleSort)1. 基本思想: 两两比较待排序数据元素的大小,发现两个数据元素的次序相反时即进行交换,直到没有反序的数据元素为止。2. 排序过程: 设想被排序的数组R[1..N]垂直竖立,将每个数据元素看转载 2013-01-22 15:47:48 · 581 阅读 · 0 评论 -
数据结构学习网站
http://sjjp.tjuci.edu.cn/sjjg/DataStructure/DS/web/paixu/paixu8.1.1.1.htm原创 2013-01-22 15:59:32 · 622 阅读 · 0 评论