数据结构
文章平均质量分 69
菜鸟--小新
知识不是有用才学,而是学了才有用。
展开
-
数据结构Java实现02----线性表与顺序表
本节内容: 线性结构线性表抽象数据类型顺序表顺序表应用 一、线性结构: 如果一个数据元素序列满足: (1)除第一个和最后一个数据元素外,每个数据元素只有一个前驱数据元素和一个后继数据元素; (2)第一个数据元素没有前驱数据元素; (3)最后一个数据元素没有后继数据元素。 则称这样的数据结构为线性结构。 二、线性表抽象数据类型:原创 2017-10-04 20:56:20 · 309 阅读 · 0 评论 -
数据结构Java实现03----单向链表的插入和删除
文本主要内容: 链表结构单链表代码实现单链表的效率分析 一、链表结构: (物理存储结构上不连续,逻辑上连续;大小不固定) 概念: 链式存储结构是基于指针实现的。我们把一个数据元素和一个指针称为结点。 数据域:存数数据元素信息的域。 指针域:存储直接后继位置的域。 链式存储结构是用指针把相互直接关原创 2017-10-04 21:11:05 · 908 阅读 · 0 评论 -
数据结构Java实现01----算法概述
【正文】 一、数据结构涵盖的内容: 二、算法的基本概念: 1、算法的概念: Algorithm,是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或者多个操作。 2、算法的特性: 有穷性:指令序列是有限的确定性:每条语句的含义明确,无二义性可行性:每条语句都应在有限的时间内完成输入:零个或者多个输入原创 2017-09-19 15:53:35 · 618 阅读 · 0 评论 -
数据结构(java)----树
什么是树 线性结构中,一个节点至多只有一个头节点,至多只有一个尾节点,彼此连接起来是一条完整的线。 比如链表和数组: 而树,非线性结构的典型例子,不再是一对一,而变成了一对多(而图则可以是 多对多),如下图所示: 几个概念: 1)根节点、父亲节点、孩子节点、叶子节点 2)节点的度: 节点拥有的子树的数目称为节点的度。比如上图中的 3原创 2017-09-10 17:17:15 · 297 阅读 · 0 评论 -
各种排序算法的分析及java实现
排序大的分类可以分为两种:内排序和外排序。在排序过程中,全部记录存放在内存,则称为内排序,如果排序过程中需要使用外存,则称为外排序。下面讲的排序都是属于内排序。 内排序有可以分为以下几类: (1)、插入排序:直接插入排序、二分法插入排序、希尔排序。 (2)、选择排序:简单选择排序、堆排序。 (3)、交换排序:冒泡排序、快速排序。 (4)、归并排序转载 2017-10-04 21:37:38 · 296 阅读 · 0 评论 -
栈和队列的面试题Java实现
栈和队列: 面试的时候,栈和队列经常会成对出现来考察。本文包含栈和队列的如下考试内容: (1)栈的创建 (2)队列的创建 (3)两个栈实现一个队列 (4)两个队列实现一个栈 (5)设计含最小函数min()的栈,要求min、push、pop、的时间复杂度都是O(1) (6)判断栈的push和pop序列是否一致 1、栈原创 2017-10-04 21:30:50 · 400 阅读 · 0 评论 -
链表面试题Java实现【重要】
本文包含链表的以下内容: 1、单链表的创建和遍历 2、求单链表中节点的个数 3、查找单链表中的倒数第k个结点(剑指offer,题15) 4、查找单链表中的中间结点 5、合并两个有序的单链表,合并之后的链表依然有序【出现频率高】(剑指offer,题17) 6、单链表的反转【出现频率最高】(剑指offer,题16) 7、从尾到头打印原创 2017-10-04 21:29:43 · 583 阅读 · 0 评论 -
数据结构Java实现07----队列:顺序队列&顺序循环队列、链式队列、顺序优先队列
一、队列的概念: 队列(简称作队,Queue)也是一种特殊的线性表,队列的数据元素以及数据元素间的逻辑关系和线性表完全相同,其差别是线性表允许在任意位置插入和删除,而队列只允许在其一端进行插入操作在其另一端进行删除操作。 队列中允许进行插入操作的一端称为队尾,允许进行删除操作的一端称为队头。队列的插入操作通常称作入队列,队列的删除操作通常称作出队列。 下图是一个依次向队列中插原创 2017-10-04 21:23:44 · 355 阅读 · 0 评论 -
数据结构Java实现05----栈:顺序栈和链式堆栈
一、堆栈的基本概念: 堆栈(也简称作栈)是一种特殊的线性表,堆栈的数据元素以及数据元素间的逻辑关系和线性表完全相同,其差别是线性表允许在任意位置进行插入和删除操作,而堆栈只允许在固定一端进行插入和删除操作。 先进后出:堆栈中允许进行插入和删除操作的一端称为栈顶,另一端称为栈底。堆栈的插入和删除操作通常称为进栈或入栈,堆栈的删除操作通常称为出栈或退栈。 备注:栈本身就是一个线性表,原创 2017-10-04 21:16:23 · 332 阅读 · 0 评论 -
数据结构Java实现04----循环链表、仿真链表
单向循环链表双向循环链表仿真链表 一、单向循环链表: 1、概念: 单向循环链表是单链表的另一种形式,其结构特点是链表中最后一个结点的指针不再是结束标记,而是指向整个链表的第一个结点,从而使单链表形成一个环。 和单链表相比,循环单链表的长处是从链尾到链头比较方便。当要处理的数据元素序列具有环型结构特点时,适合于采用循环单链表。 和单链表相同,循环单链表也有带头原创 2017-10-04 21:14:27 · 348 阅读 · 0 评论 -
自己实现的各种排序算法
排序大的分类可以分为两种:内排序和外排序。在排序过程中,全部记录存放在内存,则称为内排序,如果排序过程中需要使用外存,则称为外排序。下面讲的排序都是属于内排序。 内排序有可以分为以下几类: (1)、插入排序:直接插入排序、二分法插入排序、希尔排序。 (2)、选择排序:选择排序、堆排序。 (3)、交换排序:冒泡排序、快速排序。 (4)、归并排序 (5)、基数排序冒泡排序:/**原创 2017-11-09 00:06:15 · 406 阅读 · 0 评论