数据结构与算法
文章平均质量分 69
zh23862691
这个作者很懒,什么都没留下…
展开
-
二叉树的应用举例-哈夫曼树及哈夫曼编码
1.哈夫曼树:哈夫曼树也成为最优二叉树,在实际应用中有广泛的应用。 叶子节点的权值:叶子节点的权值是对叶子节点赋予的一个有意义的数量值。 设二叉树有n个带权值的叶子节点,从根节点到各个叶子节点的路径长度与相应叶子节点权值的乘积之和叫做二叉树的带权路径长度。给定一组具有确定权值的叶子节点,可以构造出不同的二叉树,将其中带权值路径长度最小的二叉树称为哈夫曼树。一棵二叉原创 2013-10-01 14:45:10 · 3541 阅读 · 0 评论 -
堆排序及其JAVA实现
堆排序及其JAVA实现原创 2013-10-06 15:01:13 · 744 阅读 · 0 评论 -
队列的不同存储结构及JAVA实现
队列的不同存储结构及JAVA实现原创 2013-10-03 19:01:59 · 545 阅读 · 0 评论 -
快速排序及其JAVA实现
快速排序及其JAVA实现原创 2013-10-05 09:21:09 · 762 阅读 · 0 评论 -
冒泡排序的的JAVA实现
冒泡排序的的JAVA实现原创 2013-10-04 16:59:06 · 770 阅读 · 0 评论 -
选择排序及其JAVA实现
选择排序及其JAVA实现原创 2013-10-05 10:00:10 · 894 阅读 · 0 评论 -
希尔排序的JAVA实现
希尔排序的JAVA实现原创 2013-10-04 16:24:28 · 881 阅读 · 0 评论 -
栈的定义以及不同的存储结构的AVA实现
栈的定义:栈是限定插入和删除只能在一个位置上进行的表,该位置是表的末端,叫做栈的顶(top),另一端叫做栈底。对栈的基本操作有push(进栈)和pop(出栈),前者相当于插入,后者相当于删除最后进栈的元素。 栈中的元素除了具有线性关系外,还具有先进后出的特性。package data.Stack;import java.util.Stack;public interface原创 2013-10-03 15:20:29 · 562 阅读 · 0 评论 -
线性表的链接存储结构及JAVA实现
单链表:是用一组任意的存储单元存放线性表的元素,这组存储单元可以连续也可以不连续,甚至可以零散的分布在内存中的任意位置。为了正确表示元素之间的逻辑关系,每个存储单元在存储数据元素的同时,还必须存储其后继元素所在的地址信息。其中data是数据域,,用来存放数据元素,next是指针域,用来存放该及诶单的后继结点的地址。datanext原创 2013-10-02 19:37:56 · 569 阅读 · 0 评论 -
线性表的顺序存储及JAVA实现
线性表是线性结构的典型代表线性表是一种罪基本、最简单的数据结构,数据元素之间仅有单一的前驱和后继关系。线性表不仅具有广泛的应用,而且也是其他数据结构的基础。线性表的定义 线性表是n个具有相同类型的数据元素的有限序列。数据元素的个数称为线性表的长度。长度等于零是称为空表。 线性表的数据元素具有抽象的数据类型,在设计具体的应用程序时,数据元素的抽象类型将被具体的数据类型所取代。线原创 2013-10-01 20:11:33 · 898 阅读 · 0 评论 -
循环链表,双链表,顺序表和链表的比较
循环链表:在单链表中,如果将终端结点的指针域由空指针改为指向头结点,就使得整个单链表形成一个环,这种头尾相接的单链表称为循环单链表,简称循环链表。在用头指针指示的循环链表中,找到开始结点的时间是O(1),然而要找到终端结点,则需从头指针遍历整个循环链表,其时间是O(n)。在很多实际问题中,操作时在表的首或尾进行,此时头指针指示的循环链表就显得不够方便,如果改用指向终端结点的尾指针(rear原创 2013-10-03 09:38:16 · 2491 阅读 · 0 评论 -
二叉树学习笔记
二叉树定义:二叉树是n个结点的有限集合,该集合或者为空集(称为空二叉树),或者由一个根节点和两棵互不相交的、分别称为根节点的左子树和右子树的二叉树组成。特点:1.每个结点最多有两棵子树,所以不存在度大于2的结点。2.二叉树是有序的,其次序不能任意颠倒,即使树中的某个节点只有一棵子树,也要区分它是左子树还是右子树。特殊的二叉树: 1.斜树:所有的结点都只有左子树或者只有右子树原创 2013-10-01 16:15:22 · 746 阅读 · 0 评论 -
线性表查找
线性表查找原创 2013-10-06 20:08:51 · 1277 阅读 · 0 评论