
java数据结构与算法
文章平均质量分 55
1
亿钱君
这个作者很懒,什么都没留下…
展开
-
课本总结:1:线性表
这里写目录标题1.线性表的逻辑结构2.线性表的顺序存储及运算实现2.1:线性表的顺序存储结构2.2 线性表在顺序存储结构下的运算1:顺序表插入操作章节导读:最简单且最常用的一种数据结构1.线性表的逻辑结构1.1:定义由一组具有相同属性的数据元素构成在一些复杂的的线性表中,每一个数据元素又可以由若干数据项组成(例如:一张表,每一行就是一个记录,每行有多个数据项)1.2:主要操作Initiate()初始化:构造一个空的线性表Insert(i ,x)插入:第i个元素之前插入数据元素x原创 2021-06-14 18:55:36 · 387 阅读 · 0 评论 -
8:插入排序(Insertion Sort)
插入排序(Insertion Sort)算法描述动图演示代码实现//插入排序 public static void insertSort(int[] arr) { int insertVal = 0; int insertIndex = 0; for(int i = 1; i < arr.length; i++) { //定义待插入的数 insertVal = arr[i]; insertIndex = i - 1; // 即arr[1]的前面这个数的原创 2021-04-27 08:53:36 · 96 阅读 · 0 评论 -
7:选择排序
1. 选择排序的思路图解核心理解:遍历,置换2. 基本代码//选择排序 public static void selectSort(int[] arr) { //选择排序时间复杂度是 O(n^2) for (int i = 0; i < arr.length - 1; i++) { int minIndex = i; int min = arr[i]; for (int j = i + 1; j < arr.length; j++) { if (原创 2021-04-26 11:24:48 · 87 阅读 · 0 评论 -
6:冒泡排序
1、冒泡排序基本介绍依次比较 相邻元素的值,若发现逆序则交换如果一趟比较下来没有进行过交换,就说明序列有序2、演示冒泡过程的例子(图解)3、代码实现1package com.atguigu.sort;import java.text.SimpleDateFormat;import java.util.Date;public class BubbleSort { public static void main(String[] args) {// int arr[] =转载 2021-04-22 07:46:03 · 96 阅读 · 0 评论 -
5:排序算法分类和介绍、时间频度、时间复杂度
排序算法分类和介绍、时间频度、时间复杂度1. 排序算法分类和介绍2. 算法的时间复杂度3. 算法的空间复杂度1. 排序算法分类和介绍排序算法的介绍排序也称排序算法(Sort Algorithm),排序是将一组数据,依指定的顺序进行排列的过程。排序的分类2. 算法的时间复杂度度量一个程序(算法)执行时间的两种方法事后统计的方法事前估算的方法(通过分析某个算法的时间复杂度来判断哪个算法更优.)时间频度一个算法中的语句执行次数称为语句频度或时间频度结论:忽略常数项、忽略低次项、忽略系原创 2021-04-21 08:13:59 · 242 阅读 · 0 评论 -
4:递归(Recursion)
递归1.递归的简介2.递归-迷宫问题1.递归的简介递归的概念方法自己调用自己,每次调用时传入不同的变量递归有助于编程者解决复杂的问题,同时 可以让代码变得简洁递归能解决什么样的问题1.各种数学问题如: 8 皇后问题 , 汉诺塔, 阶乘问题, 迷宫问题, 球和篮子的问题(google 编程大赛)2.各种算法中也会使用到递归,比如快排,归并排序,二分查找,分治算法等.3.将用栈解决的问题–>第归代码比较简洁2.递归-迷宫问题完整代码:package com.atguigu翻译 2021-04-20 08:52:48 · 85 阅读 · 0 评论 -
3:逆波兰计算器
逆波兰计算器(整数)1.中缀表达式=>中缀表达式List2.中缀表达式List => 后缀表达式List3.对逆波兰表达式的运算4.其他1.中缀表达式=>中缀表达式List举例:中缀表达式:1+((2+3)×4)-5中缀表达式对应的List=[1, +, (, (, 2, +, 3, ), *, 4, ), -, 5] // s="1+((2+3)×4)-5"; public static List<String> toInfixExpressionList(原创 2021-04-19 07:04:37 · 156 阅读 · 0 评论 -
2:链表
1. 单链表(带head)定义节点对象//定义HeroNode , 每个HeroNode 对象就是一个节点class HeroNode { public int no; public String name; public String nickname; public HeroNode next; //指向下一个节点 //构造器 public HeroNode(int no, String name, String nickname) { this.no = no; this.n原创 2021-04-16 14:06:28 · 99 阅读 · 0 评论 -
1:稀疏数组和队列
java数据结构与算法第 3 章 稀疏数组和队列3.1 稀疏 sparsearray 数组第 3 章 稀疏数组和队列3.1 稀疏 sparsearray 数组整体思路分析代码实现package com.atguigu.sparsearray; public class SparseArray { public static void main(String[] args) { // 1.创建一个原始的二维数组 11 * 11 // 表示没有棋子, 1 表示 黑子 2 表蓝子原创 2021-04-14 13:23:47 · 125 阅读 · 0 评论