
数据结构
文章平均质量分 85
zhuLixm
唯爱和代码不可辜负!
展开
-
数据结构之堆
堆同一般二叉树一样可采用顺序存储和链接存储,但是由于堆是一颗完全二叉树,所以适合采用顺序存储,这样才能够充分利用存储空间。对堆进行顺序存储时,首先要对堆中的所有结点进行编号,然后再以编号为下标存储到指定的数组的对应元素中。为了利用数组的0号元素,让堆中结点的编号从0开始,顺序为从上到下,从左到右,若堆中含有n个结点,则编号的范围为0~n-1。堆中编号为0~(n/2)-1(n/2向下取整)的原创 2015-09-10 13:13:33 · 273 阅读 · 0 评论 -
数据结构之二叉树
树的性质:树中的结点数等于所有结点的度数加1;度为k的树中第i层上最多有k的(i-1)次方个结点;深度为h的k叉树最多有(k的h次方-1)/(k-1)个结点;具有n个结点的k叉树的最小深度为二叉树的终端结点等于双分支结点数加1;二叉树上第i层上至多有2的(i-1)次方个结点;深度为h的二叉树最多有2的h次方-1个结点package org.tree.cn;public原创 2015-09-10 14:38:59 · 747 阅读 · 0 评论 -
数据结构之图
学完图 只有一个感觉 ,术语真的好多。图是一种非线性结构。图是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为G(V,E),其中,G表示一个图,V是图G中顶点的集合,E是图G中边的集合。在无向图中,如果任意两个顶点之间都存在边,则称该图为无向完全图。含有n个顶点的无向完全图有n(n-1)/2条边。在有向图中,如果任意两个顶点之间都存在方向互为相反的两条弧,则称该图为有向完全图。原创 2015-09-11 20:18:15 · 726 阅读 · 0 评论 -
数据结构之线性表
以前没有学过数据结构,直接学习的java,感觉编程总是基础不牢靠,所以准备重新自学数据结构,坚持!线性表分为顺序存储结构和链式存储结构,链式存储结构又分为单向链表和双向链表。关于线性表存储结构的不同网上有大把的资料,只是在这里贴出自己写的代码,不记得时候常常复习。定义一个线性表的结构:package org.list.cn;/*** * 线性表的顺序存储结构 * @aut原创 2015-09-07 14:01:12 · 353 阅读 · 0 评论 -
数据结构之静态链表
package org.list.cn;/*** * 静态链表 * 数组的元素有两个数据域(data cursor)data用来存放数据,cursor用来表示后继在数组中的下标 * 静态链表分为两部分(已经使用的空间单元和未使用的空闲单元),,删除操作就是把数据放置在空闲单元,cursor不指向这个数据 * @author zzg * */public class StaticL原创 2015-09-07 15:25:24 · 312 阅读 · 0 评论 -
数据结构之栈
栈也叫后进先出表,同样分为线性存储和链式存储两种不同的方式。package org.stack.cn;public interface StackADT { /*** * 向栈顶插入一个元素 * @param obj 插入的元素 */ void push(Object obj); /** * 栈顶删除一个元素 * @return */ Object pop(原创 2015-09-08 15:46:23 · 352 阅读 · 0 评论 -
算法练习
把二元查找树转变成排序的双向链表,这个代码是别人写的,在此作为记录。package org.hnust.cn.test;import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.ObjectInputStream; import java.io.Object原创 2016-02-22 20:20:30 · 421 阅读 · 0 评论