随笔分类 -  数据结构

简单选择排序
摘要:package cn.com; import java.util.Arrays; /**简单选择排序 * 本例 从小到大排列 * @author Administrator * */ public class SimpleSelSort { public static void main(String[] args) { int[] array = {... 阅读全文
posted @ 2018-04-25 23:33 改变一下 阅读(94) 评论(0) 推荐(0)
快速排序
摘要:冒泡排序缺点: 数据比较是相邻单元,每次交互移动一位,上次比较过得数据再下次可能再次比较,产生冗余比较。导致冒泡排序的总比较次数和交换次数比较多。 该进点: 将数据分组,组内无序,组间有序。从而减少冗余比较次数和移动次数 便于编程: 取划分端首元素,俩端向中间烧苗的方法 空单元在一侧,则指针从另一侧 阅读全文
posted @ 2018-04-23 23:38 改变一下 阅读(136) 评论(0) 推荐(0)
冒泡排序
摘要:package com.cn.sotred; import java.util.Arrays; public class BubbleSort { public static void main(String[] args) { int[] a = { 50, 33, 26, 1, 7, 9, 46, 2, 23, 55, 72, 234, 34, 6, 21, 74... 阅读全文
posted @ 2018-03-15 20:21 改变一下 阅读(125) 评论(0) 推荐(0)
希尔排序
摘要:package com.insert; import java.util.Arrays; /** * 希尔排序 * * @author wanjn * */ public class ShellSort { public static void main(String[] args) { int[] a = { 50, 3, 6, 1, 7, 9, 6, ... 阅读全文
posted @ 2018-03-15 19:49 改变一下 阅读(141) 评论(0) 推荐(0)
二分插入排序
摘要:package com.insert; import java.util.Arrays; /** * 二分插入排序 * * @author wanjn * */ public class BinInsertSort { public static void main(String[] args) { int[] a = { 9,2,4,1,57,2,46,... 阅读全文
posted @ 2018-03-14 20:36 改变一下 阅读(104) 评论(0) 推荐(0)
直接插入排序
摘要:package com.insert; import java.util.Arrays; /** * 直接插入排序 * @author wanjn * */ public class InsertSort { public static void main(String[] args) { int[] a = {50,3,6,1,7,9,6}; ... 阅读全文
posted @ 2018-03-12 21:02 改变一下 阅读(90) 评论(0) 推荐(0)
排序概述
摘要:排序根据不同角度可以分为很多类 稳定排序: 能够使任何数值相等的元素,排序以后相对次序不变 非稳定排序: 不是稳定排序的方法 1.插入排序: 在有序序列中插入一个元素,保持序列有序(数组前半段为有序段,后半段为插入待插入无序段) 根据插入位置方法的选择分为: 1)直接插入排序: 顺序法定位插入位置, 阅读全文
posted @ 2018-03-12 21:01 改变一下 阅读(142) 评论(0) 推荐(0)
因为现在这个水平还用不到树和图,所有之后放弃树和图的学习,直接进入排序的学习,现在学到排序树的删除部分,还没学完删除
摘要:package tree; /** * 排序树 * * @author Administrator * */public class SortedTree { private Node root; public void insert(int i) { Node newNode = new Node 阅读全文
posted @ 2018-02-08 23:21 改变一下 阅读(112) 评论(0) 推荐(0)
检索树
摘要:检索树的提出是为了解决普通二叉树查找速度慢的问题,加快了查找速度(n——>logn) 检索树的定义: 检索树也叫排序树(借鉴了有序顺序表的二分查找思想),顺序的规则是左儿子小于等于根节点,右儿子大于根节点值,即左小右大。中序序列是从小到大 阅读全文
posted @ 2018-02-08 21:16 改变一下 阅读(222) 评论(0) 推荐(0)
二叉树的构造
摘要:利用先序序列递归构造根节点,利用中序序列来逻辑上判断是构造左子树还是右子树 阅读全文
posted @ 2018-02-04 23:13 改变一下 阅读(174) 评论(0) 推荐(0)
二叉数的遍历
摘要:二叉树的遍历核心思想是: 递归,和各个节点遍历的顺序 根据递归思想,在每个子树中根据根节点访问的顺序可以分为:先根遍历;中根遍历;和后根遍历;左子树和右子树的访问顺序始终不变,都是先左子树再右子树 先根遍历:先访问二叉树的根,再访问访问二叉树的左子树(注意不是左儿子节点,因为遍历是个地推的过程),再 阅读全文
posted @ 2018-02-04 15:52 改变一下 阅读(277) 评论(0) 推荐(0)
树和二叉树的互相转换
摘要:二叉树是树结构的基础,解决很多树问题都是将树转换为二叉树而得 1.树转换为二叉树 原理:根据树的 儿子兄弟链存储法,可以把节点的第一个儿子看做左儿子,节点的右边第一个兄弟看做右儿子,这样来看的话就转换为二叉树的双链存储。 特点:由树转换为的二叉树,根节点是没有右儿子的,因为根节点不存在兄弟 2.森林 阅读全文
posted @ 2018-02-01 22:39 改变一下 阅读(1188) 评论(0) 推荐(0)
树的存储
摘要:完全二叉树树的存储也分为顺序存储(静态)和链式存储(动态) 1.顺序存储 顺序存储的思想利用了完全二叉树节点而儿子编号的关系(2i和2i+1)来表示层次关系。按节点的编号存放在数组对应下标单元中。因为编号从1开始,所有a[0]是不存放元素的,所以数组的长度为节点总数+1; 非完全二叉树存储的时候需要 阅读全文
posted @ 2018-01-30 23:10 改变一下 阅读(143) 评论(0) 推荐(0)
树的概念
摘要:树的高度: 树中节点的最大层次树称为树的高度或深度 节点的层次从上往下加1,节点高度的计算从下往上,且都是从1开始递加 1.树的存储方式 1)多重链接 节点结构为:除了存储节点的值的值域外,还有存储所有的儿子地址的链域(可以存在在数组中) (特点:元数越大,链域的利用率越低,空间耗费大,找儿子容易, 阅读全文
posted @ 2018-01-28 22:25 改变一下 阅读(202) 评论(0) 推荐(0)
java 实现简单循环队列
摘要:package www.queue; import java.util.Arrays; /** * 循环队列: * 循环队列的出现是为了解决顺序队列出队列后,首指针向后移动后前面的存储过程浪费不能使用的情况。 * 根据普通的顺序队列可以知道:不管是入队还是出队操作,首尾指针都是向同一个方向移动(向后移动即+1操作) * * @author Administrato... 阅读全文
posted @ 2018-01-28 16:17 改变一下 阅读(185) 评论(0) 推荐(0)
java 实现简单链式队列
摘要:package com.my; /** * 链式队列 * @author wanjn * */ public class LinkedQueue { private Node head; private int size; private Node last; //入队列 public void add(Ob... 阅读全文
posted @ 2018-01-26 17:04 改变一下 阅读(164) 评论(0) 推荐(0)
java 实现简单的顺序队列
摘要:package com.my; import java.util.Arrays; /** * 顺序队列 * @author wanjn * */ public class ArrayQueue { private int index = 0 ;//队尾指针 private Object[] objs; public ArrayQueue(){ o... 阅读全文
posted @ 2018-01-26 16:47 改变一下 阅读(156) 评论(0) 推荐(0)
java 实现简单的链式栈
摘要:package com.my; /** * 链式栈 * @author wanjn * */ public class LinkedStack { private Node head; private int size; //入栈,前插入构造链表,删除头结点实现栈;向后插入构造链表,删除头结点实现队列 public void... 阅读全文
posted @ 2018-01-26 16:45 改变一下 阅读(152) 评论(0) 推荐(0)
java 实现简单的顺序栈
摘要:package com.my; import java.util.Arrays; /** * 顺序栈 * @author wanjn * */ public class ArrayStack { private Object[] objects; private int size=0; public ArrayStack(){ objects =... 阅读全文
posted @ 2018-01-26 16:44 改变一下 阅读(152) 评论(0) 推荐(0)
监督元思想课题提高程序运行效率
摘要:监督元思想课题提高程序运行效率 阅读全文
posted @ 2018-01-22 19:06 改变一下 阅读(115) 评论(0) 推荐(0)