博客专栏  >  编程语言   >  数据结构(java)

数据结构(java)

数据结构对于一个程序员来说是必备的基础。这是我在大二时用java实现的基本数据结构,现在对它加以一些修改和完善后贴到网上来。源码:https://github.com/luoweifu/DataStructure.git

关注
80 已关注
17篇博文
  • 开放《数据结构》专栏的代码

    之前写的《数据结构》系列博客,虽然已经贴出了主要部分的代码,但还是经常有人问我要代码,我就直接把它开源得了,把代码托管在github上:https://github.com/luoweifu/Data...

    2015-07-05 22:46
    2286
  • 排序

    直接插入排序 排序过程 整个排序过程为n-1趟插入,即先将序列中第1个记录看成是一个有序子序列,然后从第2个记录开始,逐个进行插入,直至整个序列有序 算法描述 折半插入...

    2013-07-08 16:22
    2834
  • 查找

    查找概述 l 查找——也叫检索,是根据给定的某个值,在表中确定一个关键字等于给定值的记录或数据元素 l 关键字——是数据元素中某个数据项的值,它可以标识一个数据元素 l 查找方法评价 u 查找...

    2013-07-08 15:59
    2306
  • 图(3)——邻接链表法

    邻接链表法 基本思想:对图的每个顶点建立一个单链表,存储该顶点所有邻接顶点及其相关信息。每一个单链表设一个表头结点。 第i个单链表表示依附于顶点Vi的边(对有向图是以顶点Vi为头或尾的弧)...

    2013-07-08 13:33
    15397
  • 图(2)—— 邻接矩阵表示法

    图的存储结构 图的存储结构比较复杂,其复杂性主要表现在:  ◆ 任意顶点之间可能存在联系,无法以数据元素在存储区中的物理位置来表示元素之间的关系。  ◆ 图中顶点的度不一样,有的可能相差很大,若...

    2013-07-08 13:02
    9393
  • 图(1)——图的定义和基本概念

    概述 图(Graph)是一种比线性表和树更为复杂的数据结构。 线性结构:是研究数据元素之间的一对一关系。在这种结构中,除第一个和最后一个元素外,任何一个元素都有唯一的一个直接前驱和直接后继。  ...

    2013-07-08 12:06
    9836
  • 二叉树(3)——三叉链表示的二叉树

    三叉链表示的二叉树定义 所畏的三叉链表示是指二叉树由指向左孩子结点、右孩子结点、父亲结点【三叉】的引用(指针)数据和数据组成。 package datastructure.tree.btree; ...

    2013-06-13 20:38
    2801
  • 二叉树(2)——遍历的非递归实现

    算法概述 递归算法简洁明了、可读性好,但与非递归算法相比要消耗更多的时间和存储空间。为提高效率,我们可采用一种非递归的二叉树遍历算法。非递归的实现要借助栈来实现,因为堆栈的先进后出的结构和递归很相似...

    2013-06-12 17:10
    2321
  • 二叉树(1)——二叉树的定义和递归实现

    定义 最多有两棵子树的有序树,称为二叉树。二叉树是一种特殊的树。 递归定义:二叉树是n(n>=0)个有限结点构成的集合。N=0称为空二叉树;n>0的二叉树由一个根结点和两互不相交的,分别称为左子树...

    2013-06-11 23:27
    10914
  • 树定义和基本术语 定义 树(Tree)是n(n≥0)个结点的有限集T,并且当n>0时满足下列条件:      (1)有且仅有一个特定的称为根(Root)的结点;      (2)当n>1时,其余结点可...

    2013-06-10 16:57
    3353
  • 集合

    集合的定义 集合在数学中的定义如下: 集合是具有某种相同数据类型的数据元素,或是一些确认对象的汇集。通常用大写英文字母 A,B,C,… 表示,它的元素通常用小写英文字母 a,b,c,… 表示....

    2013-03-10 13:35
    2414
  • 串操作

    概述 字符串的应用已经非常广泛,如信息检索、文字编辑、自然语言的翻译等都离不开字符串。在各种高级语言的程序设计中都会有字符串类型,虽然各种语言的表现方式各自不同,但其实现原理基本相同。熟悉jav...

    2013-03-06 22:51
    2952
  • 递归算法

    概述 程序调用自身的编程技巧称为递归( recursion)。递归做为一种算法在程序设计语言中广泛应用。递归有直接递归和间接递归 •直接递归:函数在执行过程中调用本身。 •间接递归:函数在执行过程中调...

    2013-01-16 16:20
    33851
  • (堆)栈

    (堆)栈概述 栈是一种特殊的线性表,是操作受限的线性表 栈的定义和特点 •定义:限定仅在表尾进行插入或删除操作的线性表,表尾—栈顶,表头—栈底,不含元素的空表称空栈 •特点:先进后出(FI...

    2013-01-16 08:47
    2647
  • 队列

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

    2013-01-16 08:12
    12846
  • 线性表

    线性表概述 线性表是最基本、最简单、也是最常用的一种数据结构。在线性表中数据元素之间的关系是线性,数据元素可以看成是排列在一条线上或一个环上。 线性表分为静态线性表和动态线性表,常见的有顺序表(静态的...

    2013-01-15 14:08
    8395
  • 数据结构

    这是我在大二时用java实现的基本数据结构,现在对它加以一些修改和完善后贴到网上来。虽然在网上关于数据结构的文章和代码比比皆是,但别人写出来的跟自己写出来的还是有些不一样。这一来是在网上做个备份,也许...

    2013-01-14 22:18
    3367
img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部