数据结构和算法笔记
学习笔记
m0_57638904
这个作者很懒,什么都没留下…
展开
-
基数排序--数据结构和算法
基数排序原创 2022-02-26 16:27:07 · 562 阅读 · 0 评论 -
归并排序--数据结构和算法
归并排序 int[] arr = new int[20]; for (int i = 0; i < arr.length; i++) { arr[i] = (int) (Math.random() * 10); } int[] temp = new int[arr.length]; System.out.println(Arrays.toString(arr)); ..原创 2022-02-25 18:58:17 · 420 阅读 · 0 评论 -
快速排序--数据结构和算法
快速排序:是对冒泡排序的一种改进(递归),设置一个比较数,对将要排序的数据分成两部分,一部分比这个比较数小,一部分比这个比较数大,然后对这两组数据进行递归 int[] arr = new int[20]; for (int i = 0; i < arr.length; i++) { arr[i] = (int) (Math.random() * 10); } // int[] arr = ne.原创 2022-02-25 15:47:53 · 374 阅读 · 0 评论 -
希尔排序--数据结构和算法
目录希尔排序1.分组冒泡2.分组插入希尔排序一种插入排序(缩小增量排序)1.分组冒泡 int[] arr = new int[] { 2, 5, 8, 9, 6, 3, 1, 4, 7 }; int temp; for (int i = arr.length / 2; i > 0; i /= 2) { for (int j = i; j < arr.length; j++) {.原创 2022-02-24 12:12:39 · 538 阅读 · 0 评论 -
插入排序--数据结构和算法
插入排序依次寻找元素的适当位置并插入三个 for循环: // int[] arr = new int[80000]; int[] arr = new int[] { 2, 5, 8, 9, 6, 3, 1, 4, 7 }; int i; int temp; // for (int j = 0; j < arr.length; j++) { // arr[j] = (int) Math.ra.原创 2022-02-23 18:05:02 · 154 阅读 · 0 评论 -
选择排序--数据结构和算法
选择排序从需要排序的数据中,按指定的规则选出最大或最小值,再依次进行交换来进行排序 int[] arr = new int[] { 5, 4, 3, 2, 1 }; int temp; int index = 0; boolean b; for (int i = 0; i < arr.length - 1; i++) { b = false; temp = .原创 2022-02-23 15:54:03 · 498 阅读 · 0 评论 -
时间复杂度--数据结构和算法
目录排序一.分类1.内部排序2.外部排序二.时间复杂度1.常见的时间复杂度排序排序:也称排序算法(Sort Algorithm),是将一组数据按指定的顺序进行排列的过程一.分类1.内部排序指将需要处理的所有数据都加载到内存存储器中进行排序1)插入排序:①.直接插入排序 ②.希尔排序2)选择排序:①.简单选择排序 ②.堆排序3)交换排序:①.冒泡排序 ②.快速排序4)归并排序5)基数排序2.外部排序由于数据量过大无法全部加..原创 2022-02-21 18:39:29 · 298 阅读 · 0 评论 -
冒泡排序--数据结构和算法
冒泡排序:通过对待排序序列(从前到后或从后到前)依次比较相邻元素的值,逆序则进行交换。就像水泡一样逐渐向上冒出。(时间复杂度为 n^2 ) // 原数组 int[] i = new int[] { 1, 2, 3, 5, 4 }; int temp;// 辅助变量 boolean boo;// 辅助变量 for (int j = 0; j < i.length - 1; j++) { boo =原创 2022-02-21 17:58:24 · 183 阅读 · 0 评论 -
环形链表--数据结构和算法
注:环形链表添加,遍历、约瑟夫环问题public class ttt { public static void main(String[] args) { Circle c = new Circle(); for (int i = 1; i < 6; i++) { c.add(new Men(i)); } // c.add(new Men(2)); // c.add(new Men(原创 2022-02-20 18:48:39 · 150 阅读 · 0 评论 -
双向链表--数据结构和算法笔记
注:添加、删除、修改、遍历public class rrr { public static void main(String[] args) { DoublePLinkedList p = new DoublePLinkedList(); p.add(new Nnode(3, "111")); p.add(new Nnode(2, "333")); p.add(new Nnode(5, "333")); p.a.原创 2022-02-20 15:30:27 · 183 阅读 · 0 评论 -
单链表--数据结构与算法
链表是以节点的方式来存储,是链式存储public class eee { public static void main(String[] args) { PLinkedList p = new PLinkedList(); p.add(new Node(6, "zhangsan")); p.add(new Node(2, "lisi")); p.add(new Node(5, "wangwu")); p.add(原创 2022-02-19 19:01:14 · 110 阅读 · 0 评论 -
队列--数据结构和算法笔记
队列1.队列是一个有序列表,可以用数组或链表来实现2.遵循先入先出的原则(先存入队列的数据要先取出,后存入的后取出)数组模拟队列:import java.util.Scanner;public class www { public static void main(String[] args) { ww w = new ww(3); Scanner s = new Scanner(System.in); boolean loo原创 2022-02-19 15:32:10 · 203 阅读 · 0 评论 -
稀疏数组--数据结构和算法笔记
当一个数组中大部分元素为0 或者为同一个值的数组时,可以使用稀疏数组来保存该数组处理方法:1.记录数组一共有几行几列,有多少个不同的值2.把不同值的元素的行、列、值记录在另一个数组中,从而缩小程序的规模注:把一个数组转换成稀疏数组并保存到.data文件 ,再读取.data文件恢复把稀疏数组恢复为原数组import java.io.BufferedOutputStream;import java.io.BufferedWriter;import java.io.BufferedRe原创 2022-02-19 10:20:09 · 166 阅读 · 0 评论 -
数据结构--数据结构和算法笔记
线性结构和非线性结构一.线性结构1.线性结构作为最常用的数据结构,特点为数据元素之间存在一对一的线性关系2.线性结构有两种不同的存储结构:顺序存储结构 和 链式存储结构。①.顺序存储的线性表 为 顺序表,顺序表中的存储元素时连续的②.链式存储的线性表为链表,链表中的存储元素不一定是连续的,元素节点中存放数据元素以及相邻元素的地址信息3.线性结构常见有:数组、队列、链表、栈二.非线性结构非线性结构包括:二维数组、多维数组、广义表、树结构、图结构...原创 2022-02-19 10:07:52 · 125 阅读 · 0 评论