
数据结构
文章平均质量分 75
Cholechow
一名默默码代码码农
展开
-
java数据结构之冒泡排序
冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果他们的顺序(如从大到小、首字母从 A 到 Z)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素已经排序完成。这个算法的名字由来是因为越大的元素会经由交换慢慢 “浮” 到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧...原创 2018-12-14 18:50:48 · 681 阅读 · 0 评论 -
java数据结构之二叉树及对应的遍历
java代码如下:package 数据结构;public class Tree { NodeTree root;//根节点 public void insert(long value,String name){//向树中插入元素 NodeTree current=root;//给根节点取个别名 NodeTree newnode=new NodeTre...原创 2018-12-20 22:44:42 · 225 阅读 · 0 评论 -
java数据之头尾链表
头尾链表可以在头结点和尾结点分别进行插入和删除操作java代码如下:package 数据结构;public class FirstLastList { Node first;//头结点 Node last;//尾结点 public FirstLastList(){ first=null; last=null; } public bool...原创 2018-12-20 21:38:33 · 836 阅读 · 0 评论 -
java数据结构之栈
一、栈的基本介绍栈是一种只允许在一端进行插入或删除的线性表,也就是说先进后出。栈的操作端通常被称为栈顶,另一端被称为栈底,栈的插入操作称为压栈(push),栈删除操作称为出栈(pop)。压栈是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;出栈则是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。 java代码如下:package 数据结构;public class Stack ...原创 2018-12-20 21:10:18 · 291 阅读 · 0 评论 -
java数据结构之队列
队列(queue)是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。 队列的数据元素又称为队列元素。在队列中插入一个队列元素称为入队,从队列中删除一个队列元素称为出队。因为队列只允许在一端插入,在另一端删除...原创 2018-12-20 20:54:02 · 209 阅读 · 0 评论 -
java数据结构之单向链表
单链表是链表中结构最简单的。一个单链表的节点 (Node) 分为两个部分,第一个部分 (data) 保存或者显示关于节点的信息,另一个部分存储下一个节点的地址。最后一个节点存储地址的部分指向空值。 单向链表只可向一个方向遍历,一般查找一个节点的时候需要从第一个节点开始每次访问下一个节点,一直访问到需要的位置。而插入一个节点,对于单向链表,我们只提供在链表头插入,只需要将当前插入的节...原创 2018-12-14 20:56:36 · 194 阅读 · 0 评论 -
java数据结构之快速排序
快速排序(Quicksort)是对冒泡排序的一种改进。快速排序由 C. A. R. Hoare 在 1962 年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。java代码如下:package 数据结构;pu...原创 2018-12-14 20:27:16 · 183 阅读 · 0 评论 -
java数据结构之希尔排序
希尔排序 (Shell's Sort) 是插入排序的一种又称 “缩小增量排序”(Diminishing Increment Sort),是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法因 D.L.Shell 于 1959 年提出而得名。希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至 1 时,...原创 2018-12-14 20:05:51 · 238 阅读 · 0 评论 -
java数据结构之直接插入排序
直接插入排序(Straight Insertion Sort)是一种最简单的排序方法,其基本操作是将一条记录插入到已排好的有序表中,从而得到一个新的、记录数量增 1 的有序表。在日常生活中,经常碰到这样一类排序问题:把新的数据插入到已经排好的数据列中。例如:一组从小到大排好顺序的数据列 {1,2,3,4,5,6,7,9,10},通常称之为有序列,我们用序号 1,2,3,… 表示...原创 2018-12-14 19:57:36 · 756 阅读 · 0 评论 -
java数据结构之选择排序
选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法。选择排序输出的是原序列的一个重排 <a1*,a2*,a3*,...,an*>;,...原创 2018-12-14 19:02:07 · 269 阅读 · 0 评论 -
java数据结构之图及其深度优先搜索与最小生成树
定义:图 (graph) 是由一些点 (vertex) 和这些点之间的连线 (edge) 所组成的;其中,点通常被成为 "顶点(vertex)",而点与点之间的连线则被成为 "边或弧"(edege)。通常记为,G=(V,E)。DFS(Depth-first-search) 深度优先遍历形象的说, 就像搜索文件夹, 从第一个开始文件夹开始搜索到底, 然后再搜索第二个到底, 然后第三个…...原创 2018-12-20 23:21:31 · 539 阅读 · 0 评论