【数据结构--JAVA】
文章平均质量分 92
LCore
对知识的渴求源于人的内心 对知识的分享来发自于人的本性
展开
-
线性表--顺序实现方式 (JAVA)
我们知道线性表结构一般分为三种:顺序线性表、单链表、双链表。下面将会使用 java语言实现顺序表。使用数组作为容器。 基于线性表的三种结构的操作都是一样的我们设计一个线性表接口。package comkiritor.linear_table;/** * 线性表接口 * @author Kiritor * */public interfac原创 2013-04-26 23:00:18 · 2518 阅读 · 0 评论 -
深入理解数据结构之散列表、散列、散列函数
前言 笔者以前对散列是什么?哈希又是什么?何谓散列表?散列函数又是个什么东东比较的迷惑。 通过看一些书,查找一些资料总算是有一些眉目了,现将相关的知识与体会记录下来。留待日后 的再学习! 基本概念原创 2013-06-12 12:08:48 · 8395 阅读 · 6 评论 -
队列的实现(JAVA)
定义 队列(queue)是一种特殊的线性表,它只允许在表的前端进行删除,在表的后端进行插入。 进行插入端的称为队尾,进行删除端的称为队头。队列是先进先出原则的。队列的实现同样可以 使用两种方式来实现,一种是数的实现方式,另一种是链表的实现方式。 队列的实现原创 2013-04-30 09:27:23 · 10140 阅读 · 4 评论 -
二叉查找树--查找、删除、插入(Java实现)
下篇:平衡二叉树 http://blog.csdn.net/kiritor/article/details/8892648 二叉查找树 二叉查找树(Binary Search Tree),或者是一颗空树,或者是具有下列性质的二叉树: 1、若它的左子树不空,则原创 2013-05-06 11:24:12 · 31592 阅读 · 21 评论 -
伸展树--Java实现
前言 前面的学习中,笔者就二叉树、二叉查找树、平衡二叉树进行了一些总结。此篇文章主要 讨论伸展树。我们知道的是在二叉查找树上的基本操作(查找、插入)的时间复杂读与树的高度 成正比的关系。对于一个含有N个结点的二叉查找树来说,这些操作的最坏运行情况为OlogN)。原创 2013-05-09 08:56:09 · 2772 阅读 · 1 评论 -
平衡二叉树(AVL)--查找、删除、插入(Java实现)
前言 前面一篇文章,笔者就二叉查找树进行了一些解释与实现,这篇文章笔者将会就平衡二叉树 做一些总结与实现。读者若不了解二叉查找树的话,可以参考这篇文章: http://blog.csdn.net/kiritor/article/details/8889176原创 2013-05-08 10:11:20 · 11593 阅读 · 8 评论 -
Thinking in Java之集合相关整理(源码分析)
近来在对Java中常用集合源码的学习总算是初窥门径了,也形成了几篇的学习总结。为了 便于日后的再学习和方便大家的阅读、交流讨论。笔者现在对其做一个整理,权当是导航吧! 第一篇:Java集合API框架浅析 http://blog.csdn.net/kiritor/article/details/8868943原创 2013-05-05 14:20:16 · 3403 阅读 · 0 评论 -
先序、中序确定二叉树
前言 我们知道遍历一颗二叉树一般有三种方式:先序、中序、后序。而且每一颗二叉树的三种遍历 方式的结果各自都是唯一的。但是有可能一颗二叉树的先序遍历结果和另一个不同的二叉树的中 序遍历结果是相同的。我们能够有二叉树求得其三种遍历结果,那么我们有可能根据三种遍历结果 去确定一颗二叉树么?原创 2013-05-03 21:18:07 · 6781 阅读 · 0 评论 -
二叉树的实现及先序、中序、后序遍历
定义 二叉树:在数据结构中,二叉树是每个节点最多有两个子树的树结构。通常子树被称作为 “左子树”和右子树。二叉树通常被用于实现二叉查找树和二叉堆。 特点 二叉树的每个节点至多只有两颗子树(不存在度大于2的结点),需要注意的是二叉树的子树 是有左右原创 2013-05-03 16:09:48 · 20441 阅读 · 1 评论 -
栈的经典应用
前言 前面的一文中,说明了什么是栈,以及栈的两种实现方式。接下来我们简单看看栈的经典的 应用。 栈的应用举例 栈的操作是十分有效的,是以常数时间运行的。有一种观念认为栈可能是计算机科学中除了 数组之外的最基本的数据结构了。那么栈到底有哪些运用原创 2013-04-29 21:28:18 · 13306 阅读 · 1 评论 -
栈的实现(JAVA)
栈定义 栈(stack):是一种特殊的串行形式的数据结构,其特殊之处在于只允许在链接串行或者阵列的 一端进行插入、删除操作。其实现方式可以通过一维阵列和链接串行来实现。 Tips:简单的来说栈其实也是一种操作受限的线性表。是一种后进先出的数据结构可以使用数原创 2013-04-29 18:10:19 · 6899 阅读 · 1 评论 -
线性表--双链表实现方式 (JAVA)
欢迎讨论,转载请注明出处哦 前面一篇文章说明了线性表主要有三种结构:顺序表、单链表、双链表。 其实按照其实现的特点是两种实现方式:1、采用数组式的静态存储空间,即线性表;2、采用链 式的动态 存储空间,即是链表。 上一章实现了顺序表,这篇文章用于实现双链表。由于双链表具有的方法比顺序表多。原创 2013-04-27 14:57:44 · 2479 阅读 · 2 评论 -
数据结构之优先队列--二叉堆(Java实现)
前言 数据结构队列的学习中,我们知道队列是先进先出的。任务被提交到队列中,按照先进先出的原则 对各个任务进行处理。不过在现实的情况下,任务通常有着优先级的概念,例如短任务、管理员的操作 应该优先执行。这是使用队列就无法描述了,这种特殊的应用我们使用一种称之为优先队列(堆)的方式 来解决。 优先队列 和原创 2013-06-16 13:31:09 · 14094 阅读 · 0 评论