数据结构
文章平均质量分 51
别把BUG不当代码
这个作者很懒,什么都没留下…
展开
-
数据结构(五):前序遍历、中序遍历、后序遍历
前序、中序和后序三种表达式,是针对同一个表达式的不同方式的表示。在讲三种表达式之前,我们先看下二叉树的前序、后序和中序遍历。遍历下面这个二叉树,分别以前中后三种遍历方式,写出结点的顺序。前序遍历:顺序“根左右”或“中左右”①遍历根节点②遍历根结点的左子结点:如果左结点不是叶节点,则以当前结点开始,重新从第一步开始循环③遍历根节点的右子结点:如果右结点不是叶节点,则以当前结点开始,重新...原创 2020-04-29 17:22:26 · 18215 阅读 · 0 评论 -
数据结构(五):java实现八大排序算法
今天重新梳理下排序算法,用java实现。直接插入排序思想:直接插入排序,从第二个位置开始与前面的值比较,按照关键字的大小进行排序。每次比较时,前面的队列都是有序排列的。import java.util.Arrays;public class TestInsertSort { public static void main(String[] args) { ...原创 2020-04-29 15:17:59 · 477 阅读 · 0 评论 -
数据结构(四):栈及通过数组实现
栈Stack1.栈是一个先进后出(first in last out)的有序列表2.栈的插入删除只能在线性表的同一端进行,允许插入删除的一端叫栈顶,另一端固定的叫栈底。我们先演示下通过数组实现栈package com.study;public class TestStack { public static void main(String[] args) { ...原创 2020-04-21 16:10:27 · 139 阅读 · 0 评论 -
数据结构(三):单向循环链表的实现及约瑟夫问题
单向循环链表并不复杂,主要要和约瑟夫问题结合起来,才能更好地感受到单向循环链表的好处。约瑟夫问题约瑟夫问题是个有名的问题:N个人围成一圈,从第一个开始报数,第M个将被杀掉,最后剩下一个,其余人都将被杀掉。例如N=6,M=5,被杀掉的顺序是:5,4,6,2,3,1。java实现单向循环列表(不带头结点)package com.study;public class TestCircle...原创 2020-04-21 01:37:40 · 255 阅读 · 0 评论 -
数据结构(一):单链表(Linked List)
数据结构(一):链表(Linked List)1.链表是以结点的方式来存储的;2.每个结点包含①data域:存储数据 ②next域:指向下一个结点3.链表的各个结点在内存中不一定是连续存储的,但是它存储的内容是有序的(按照你添加结点的顺序)4.链表包块带头结点和不带头结点两种结点形式如下:class Node{ int data; Node next = null; publ...原创 2020-04-20 17:53:44 · 454 阅读 · 0 评论 -
数据结构:单链表——带头结点与不带头结点步骤详解
单链表:带头结点与不带头结点详解这两天回顾下链表的知识,关于单链表带头结点和不带头结点有点迷糊了,就去网上查询了下,结果查完心态都炸了。看的整个人更懵逼了!!!网上大部分对于带头结点和不带头结点的文章,对不带头结点的链表的表头插入结点的代码,都是错的。我简单截几个图:正确的步骤应该如下x->next = head;//此处x是待插入结点head = x;下面我们讲下具体...原创 2020-04-19 16:19:30 · 9311 阅读 · 2 评论