09 2021 档案

摘要:1.归并排序思想(分治:Divide-and-conquer) 将问题分成一些小问题,然后递归求解,将分的各阶段得到的答案"修补"到一起 2.归并排序时间复杂度O(nlogn) 归并排序需要额外的空间开销 3.归并排序 package 算法.排序; import java.util.Arrays; 阅读全文
posted @ 2021-09-27 17:23 CH0701 阅读(38) 评论(0) 推荐(0)
摘要:1.快速排序的思想 快速排序是对冒泡排序的一种改进 基本思想**(递归):通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另一部分的所有数据小(基准)**,然后再按此方法,对这两部分数据分别进行快速排序。 2.快速排序的时间复杂度O(nlogn) 3.快速排序的代码实现 pac 阅读全文
posted @ 2021-09-27 16:26 CH0701 阅读(125) 评论(0) 推荐(0)
摘要:1.希尔排序思想 希尔排序是一种更高效的插入排序方式(相较于简单插入排序),也称缩小增量排序 基本思想:把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,增量减至1时,整个文件恰被分为一组,算法便终止。 优点:避免了简单插入排序时,最后的数移动次 阅读全文
posted @ 2021-09-26 23:12 CH0701 阅读(108) 评论(0) 推荐(0)
摘要:1.插入排序思想i = 1;while 把n个待排序的元素看作一个有序表和一个无序表,开始时有序表只包含一个元素arr[0],无序表中包含n-1个元素,每次从无序表中取出第一个元素,把他插入到有序表的适当位置。 2.插入排序时间复杂度O(n^2) 3.插入排序代码实现 package 算法.排序; 阅读全文
posted @ 2021-09-25 19:12 CH0701 阅读(48) 评论(0) 推荐(0)
摘要:1.选择排序思想 i = 0;j = i + 1 从arr[0]-arr[n-1]中选取最小值,与arr[0]交换;此时arr[0]有序,继续从arr[1]-arr[n-1]中选取最小值,与arr[1]交换... 一共排序n-1轮 每轮比较位置从 i + 1 到 arr.length-1 2.选择排 阅读全文
posted @ 2021-09-25 16:04 CH0701 阅读(58) 评论(0) 推荐(0)
摘要:1.冒泡排序的思想 设置双重循环 i = 0; j = 0; 外层循环确定要排序的轮数:arr.length-1轮(倒数第二个元素排序完成时,数组已经有序了) 内层循环从数组的第一个位置开始,依次比较相邻的两个值,一直到到当前的数组的最后一个位置,每经过一次外层循环,下一轮比较的次数就减一,j=ar 阅读全文
posted @ 2021-09-25 14:15 CH0701 阅读(134) 评论(0) 推荐(0)
摘要:B, blue D是正确的 T1-2答案: T3答案: 1,3,5,7 T4顺序插入: 思路:定位(确定插入元素的位置)+扩容(拷贝初始数组时,跳过定位点) 生成1-100的随机数: (int)(Math.random()*100)+1 阅读全文
posted @ 2021-09-25 03:34 CH0701 阅读(68) 评论(0) 推荐(0)
摘要:1.二维数组入门 二维(two Dimensional)数组应用场景: 什么是二维数组: 输出二维数组: 关于二维数组的相关概念: 2.二维数组内存布局 动态初始化: int[][] arr = new int[3][3]; 二维数组内存布局: 二维数组引用arr,指向一个空间,空间中存放一维数组的 阅读全文
posted @ 2021-09-24 23:21 CH0701 阅读(90) 评论(0) 推荐(0)
摘要:![](https://img2020.cnblogs.com/blog/2279140/202109/2279140-20210924135044464-1717502642.png)![](https://img2020.cnblogs.com/blog/2279140/202109/2279140-20210924140617835-290825767.png) 阅读全文
posted @ 2021-09-24 14:09 CH0701 阅读(29) 评论(0) 推荐(0)
摘要:1.排序概述 排序是什么: 内部排序与外部排序 冒泡排序基本思想: 2.冒泡排序实现思路 3.冒泡代码实现 package 数组.冒泡排序; public class BubbleSortMy { public static void main(String[] args) { int[] arr 阅读全文
posted @ 2021-09-24 09:50 CH0701 阅读(57) 评论(0) 推荐(0)
摘要:1.数组必要性 为什么需要数组: 传统方法解决思路,新建六个变量进行计算(麻烦) 用数组 2.数组快速入门 数组介绍: for循环遍历数组 3.数组使用1,动态初始化 数组使用方式一:动态初始化 int[] a = new int[100]; 练习: 4.数组使用2,动态初始化 数组使用方式二:动态 阅读全文
posted @ 2021-09-23 18:12 CH0701 阅读(52) 评论(0) 推荐(0)
摘要:MySQL三层结构示意图: mysqld.exe对程序监听,起DBMS的作用 在Java程序中,一行记录往往使用对象表示/映射 SQL语句的分类: 阅读全文
posted @ 2021-09-19 18:30 CH0701 阅读(48) 评论(0) 推荐(0)
摘要:练习题1:将字符串中指定部分进行翻转 数据验证技巧: 写出所有的正确情况,取反 练习题2:注册处理题 练习题3:字符串统计 练习题4: 练习题5: 阅读全文
posted @ 2021-09-17 20:52 CH0701 阅读(33) 评论(0) 推荐(0)
摘要:1.Date介绍(第一代日期类) java.util包下 IDEA中的properties的含义:将setXXX,getXXX后的XXX当作一个属性 2.Date应用实例 获取当前系统时间: 创建SimpleDateFormat对象,可以指定相应的格式 构造器,根据毫秒数的到时间 把一个格式化的字符 阅读全文
posted @ 2021-09-17 20:24 CH0701 阅读(111) 评论(0) 推荐(0)
摘要:BigInteger 和 BigDecimal 介绍: 当成字符串处理,处理完成后转回数值 BigInteger 和 BigDecimal 常用方法: 需要处理很大的整数时,long不够用=>BigInteger 精度要求很高double不够用=>BigDecimal 阅读全文
posted @ 2021-09-17 19:02 CH0701 阅读(34) 评论(0) 推荐(0)
摘要:System常用方法和案例: exit(); arraycopy(); currentTimeMillens(); 阅读全文
posted @ 2021-09-17 18:42 CH0701 阅读(33) 评论(0) 推荐(0)
摘要:1.Arrays排序源码解读 Arrays常用方法: Arrays.sort();方法,接口编程+动态绑定+匿名内部类 2.Arrays模拟排序 实现sort(); 3.Arrays其他方法 binarySearch();二分搜索法查找(必须排好序): 查找元素不存在时的返回值(源码分析) copy 阅读全文
posted @ 2021-09-17 18:30 CH0701 阅读(76) 评论(0) 推荐(0)
摘要:Math类基本介绍: Math类常用方法: 求随机数: 阅读全文
posted @ 2021-09-17 15:57 CH0701 阅读(33) 评论(0) 推荐(0)
摘要:1.StringBuffer结构剖析 StringBuffer基本介绍: StringBuffer中有一个char[] value,用于存储,不是final,因此可以更新内容 StringBuffer的特点: String与StringBuffer的对比: StringBuffer的更新实际上是更新 阅读全文
posted @ 2021-09-17 08:47 CH0701 阅读(65) 评论(0) 推荐(0)
摘要:1.String结构剖析 String类的理解和创建对象 使用Unicode编码,一个字符占两个字节 String有很多构造器,构造器的重载 String是final类,不能被其他的类继承 String有属性private final char value[];用于存放字符串内容,所以String的 阅读全文
posted @ 2021-09-16 22:10 CH0701 阅读(79) 评论(0) 推荐(0)
摘要:1.八大Wrapper类 八种基本数据类型相应的引用类型就是包装类: 包装类的作用,可以调用类中的方法 2.装箱和拆箱 包装类和基本数据类型的互相转换,装箱拆箱 jdk5之后实现了自动装箱拆箱 手动装箱和拆箱演示: 自动装箱/拆箱的底层还是手动装箱/拆箱 3.包装类测试 练习题: 面试题:三元运算符 阅读全文
posted @ 2021-09-15 21:25 CH0701 阅读(61) 评论(0) 推荐(0)
摘要:1.异常处理入门 异常:程序运行中的不算致命的问题,却会导致程序提前结束 使用try检测代码块,如果有异常则catch,这样程序即使有异常,也能继续运行 2.异常基本介绍 程序执行中发生的不正常情况称为“异常”,语法错误,逻辑错误不是异常 异常分为:Error(严重错误,程序崩溃),Exceptio 阅读全文
posted @ 2021-09-14 23:03 CH0701 阅读(253) 评论(0) 推荐(0)
摘要:1.设计模式面试题1 UML类图,源码中的设计模式分析 七大设计原则核心思想,以类图说明设计原则,实际开发中哪里用到了什么原则 2.设计模式面试题2 使用设计模式,完成实际业务开发 状态图,状态转换 解释器设计模式面试题: 解释器设计模式,UML类图: 解释器设计模式在源码中的运用: 单例模式有几种 阅读全文
posted @ 2021-09-13 23:07 CH0701 阅读(156) 评论(0) 推荐(0)
摘要:1.Override注解 注解是什么: 基本的注解: @Override @Override的价值,在于语法校验 @Override的定义: @interface表示的是——这是一个注解类 @Override使用说明: 2.Deprecated注解,可以做版本升级的过度使用 @Deprecated, 阅读全文
posted @ 2021-09-13 18:38 CH0701 阅读(54) 评论(0) 推荐(0)
摘要:1.枚举类引出,代码模板生成 一组关联的,固定的值组成的数据,如四季 四季的特点: 用枚举解决,四季的代码设计问题: 2.自定义枚举类 枚举是什么: 枚举是一组常量的集合(大写) 枚举属于一种特殊的类,里面只包含一组有限的特定的对象 枚举的两种实现方式: 自定义类实现枚举 使用enum关键字实现枚举 阅读全文
posted @ 2021-09-13 17:51 CH0701 阅读(91) 评论(0) 推荐(0)
摘要:1.四种内部类 一个类的内部又完整的嵌套了另一个类的结构,被嵌套的类称为内部类(inner class) 内部类的最大特点就是:可以直接访问私有属性,并且可以体现类与类之间的包含关系 内部类的基本语法: 内部类的划分: 2.局部内部类1 局部内部类的特点: 局部内部类是定义在外部类的局部位置,通常在 阅读全文
posted @ 2021-09-13 13:11 CH0701 阅读(364) 评论(0) 推荐(1)
摘要:1.接口快速入门 为什么要有接口: 程序模拟USB接口: 定义一个USB接口规范 有实现USB接口的类Phone,Camera 定义一个Computer类,接收一个实现了USB接口的类 2.接口基本介绍 什么是接口:接口的基本介绍 jdk1.8以及之后,接口中可以有静态方法static,默认方法(d 阅读全文
posted @ 2021-09-11 21:20 CH0701 阅读(107) 评论(0) 推荐(0)
摘要:1.抽象类的引出 抽象类的由来:父类方法需要声明,但不确定如何实现 将方法声明为抽象abstract方法,类声明为抽象类 当一个类中存在抽象方法时,需要将该类声明为abstract类 抽象类一般会被继承,由子类来实现抽象方法 2.抽象类的细节 抽象方法没有方法体,因为不需要具体的实现 抽象类补充介绍 阅读全文
posted @ 2021-09-11 19:22 CH0701 阅读(207) 评论(0) 推荐(0)
摘要:1.final基本使用 final修饰类,方法,属性,局部变量 2.final使用细节1 final属性(常量)必须赋初始值,可以在以下三个位置赋初始值: 定义时 在构造器中(final修饰的属性是静态的,则初始化位置不能是构造器) 原因:static修饰属性,在类加载时就要赋值,构造器是在对象创建 阅读全文
posted @ 2021-09-11 14:46 CH0701 阅读(86) 评论(0) 推荐(0)
摘要:1.单例模式饿汉式 设计模式简介: 什么是单例模式? 某个类只存在一个对象实例,且该类只提供一个取得该对象实例的方法 单例模式的实现: 构造器私有化,防止别人new 在类的内部创建一个对象实例,私有的private static(访问方法是静态的,所以对象实例必须是静态的,不然静态方法无法访问) 提 阅读全文
posted @ 2021-09-11 13:50 CH0701 阅读(77) 评论(0) 推荐(0)
摘要:1.代码块快速入门 代码块隐式调用: 代码块基本语法: 使用代码块的好处(对构造器的补充机制,提取出构造器中相同的内容,放入代码块中): 创建对象时,会先调用代码块中的内容 代码块调用的顺序优先于构造器 2.代码块使用细节1 静态代码块,随类加载而执行,且静态代码块只会执行一次(类加载只会执行一次) 阅读全文
posted @ 2021-09-11 12:46 CH0701 阅读(250) 评论(0) 推荐(0)
摘要:1.main语法说明 深入理解main方法: 2.main特别说明 main方法是一个静态方法,它的使用细节同类成员 3.main动态传值 如何在IDEA中动态传递参数 阅读全文
posted @ 2021-09-10 23:26 CH0701 阅读(173) 评论(0) 推荐(0)
摘要:1.类变量的引出 类变量的引出: 引入一个变量count记录加入的小孩数,但count与类没有关系 2.类变量快速入门 所有对象共享一个空间 ——> 类变量 类变量(静态变量)为类的所有实例所共享 类变量可以通过类名来访问 3.类变量内存剖析 静态变量放在那里? ——> 静态变量内存布局 静态变量是 阅读全文
posted @ 2021-09-10 22:48 CH0701 阅读(81) 评论(0) 推荐(0)
摘要:8.输出10,9,10,t1.count2(),使t1.count++了 阅读全文
posted @ 2021-09-10 00:41 CH0701 阅读(25) 评论(0) 推荐(0)
摘要:1-2 3 4 5 6 7,这个调用父类的构造器,最终修改的是子类的属性,还是父类的 属性没有动态绑定机制 8 9-10 11-12 13 14, 被隐藏的super 15-16 阅读全文
posted @ 2021-09-10 00:37 CH0701 阅读(38) 评论(0) 推荐(0)
摘要:1.运算符== 面试题:==和equals的区别 2.查看jdk源码,equals方法(只能判断引用类型) equals方法默认判断引用是否相等,通过重写,判断值是否相等 3.子类重写equals方法,Integer,String 重写前为地址比较,重写后为值比较 4.equals练习1 重写equ 阅读全文
posted @ 2021-09-09 23:59 CH0701 阅读(69) 评论(0) 推荐(0)
摘要:1.养宠物引出多态 2.方法的多态 方法重载体现多态:传入不同参数,调用不同的方法 方法重写体现多态:不同的对象(父子)调用同名的方法,查找的是不同类的方法 3.对象的多态(多态的核心,编译类型,运行类型) 对象的多态核心: 一个对象的编译类型和运行类型可以不一致(也可以一致) 编译类型在定义对象时 阅读全文
posted @ 2021-09-09 21:06 CH0701 阅读(89) 评论(0) 推荐(0)
摘要:1.方法重写介绍 什么是方法覆盖:方法覆盖可以覆盖父类(包括但不只是)的方法 覆盖的判定标准:名称,返回类型,参数一样 方法覆盖后的情况:调用时先查找当前子类是否有该方法,有则使用当前子类的方法,没有则查找父类 2.方法重写细节 方法重写细节 形参列表,方法名称必须一样 返回类型,可以和父类一样,或 阅读全文
posted @ 2021-09-07 22:35 CH0701 阅读(50) 评论(0) 推荐(0)
摘要:1.排序算法介绍和分类 排序算法介绍:内部排序,外部排序 常见的排序算法分类: 算法的时间复杂度(事前估算的方法): 2.时间频度介绍和特点 时间频度: 时间频度举例说明: 对于时间频度而言,常数项可以忽略: 对于时间频度而言,低次项可以忽略: 对于时间频度而言,系数可以忽略: 3.时间复杂度计算和 阅读全文
posted @ 2021-09-07 21:53 CH0701 阅读(69) 评论(0) 推荐(0)
摘要:43.递归应用场景和调用机制 递归的概念: 打印问题,阶乘问题 44.递归能解决的问题和规划 递归解决什么问题: 递归要遵守的重要规则: 45.迷宫回溯问题分析和实现1 迷宫回溯问题实现代码: map为引用类型 46.迷宫回溯问题分析和实现2,如何求出最短路径,穷举,图 47.八皇后问题分析和实现1 阅读全文
posted @ 2021-09-07 16:56 CH0701 阅读(153) 评论(0) 推荐(0)
摘要:1.super基本语法 super代表父类的引用,用于访问父类的属性,方法,构造器 super基本语法: super不能访问父类的private属性及方法 super(参数列表)只能放在构造器的第一句,且只有一句 2.super使用细节 super给编程带来的便利: 调用方法细节,属性调用思路也一样 阅读全文
posted @ 2021-09-07 13:35 CH0701 阅读(42) 评论(0) 推荐(0)
摘要:1.为什么需要继承 提高代码复用率 2.继承原理图 继承基本介绍和示意图: extends 3.快速入门,继承解决代码冗余问题,一定要先extends,才能使用公共属性和方法 4.继承使用细节,继承给编程带来的便利 继承给编程带来的便利: 代码的复用性提高了 代码的扩展性和维护性提高了(父类增加一个 阅读全文
posted @ 2021-09-07 00:45 CH0701 阅读(76) 评论(0) 推荐(0)
摘要:1.封装介绍 什么是封装: 比如电视机的开关,音量的升降,通过封装,让我们只需要按一下按钮就可以实现非常复杂的功能 封装的理解和好处: 隐藏实现细节 对数据进行验证,保证安全合理 2.封装步骤 封装的实现步骤,三步 属性私有 set,可加入数据验证的业务逻辑 get,可加入权限判断,谁可以取到数据 阅读全文
posted @ 2021-09-06 17:39 CH0701 阅读(61) 评论(0) 推荐(0)
摘要:1.递归解决什么问题 什么是递归: 方法自己调用自己,每次调用传入不同的变量(控制结束) 递归能解决什么问题: 汉诺塔:五个盘,要想把最后一块盘放到c塔,需要先移动四个盘到b塔;要把四个盘移动到b塔,需要先将上三个盘移动到c塔;要将上三个盘移动到c塔,需要先把上两个盘移动到b塔;要将上两个盘移动到b 阅读全文
posted @ 2021-09-06 15:45 CH0701 阅读(137) 评论(0) 推荐(0)
摘要:36.前缀,中缀,后缀表达式的规则 前缀表达式: 从右至左扫描表达式 遇到运算符弹出栈顶的两个数,运算后结果入栈 前缀表达式应用实例: 中缀表达式: 利于人理解,对计算机不友好 常转化为后缀表达式来操作 后缀表达式(逆波兰表达式): 后出栈数减去前出栈数(顺序与前缀表达式不一致) 后缀表达式原理即应 阅读全文
posted @ 2021-09-05 23:00 CH0701 阅读(196) 评论(0) 推荐(0)
摘要:1.访问修饰符规则 四种访问修饰符: 四种访问修饰符访问范围: 2.访问修饰符细节 修饰符可以用来修饰类中的属性,成员方法以及类 只有默认的和public才能修饰类,并且遵循上述访问权限的特点 阅读全文
posted @ 2021-09-04 17:49 CH0701 阅读(64) 评论(0) 推荐(0)
摘要:1.包的基本介绍 包的应用场景: 包的三大作用: 2.包原理 包的本质:创建不同的文件夹/目录保存类文件 3.包快速入门 创建包练习 引入包 不能同时import两个类名相同的文件 若在一个类中要使用两个类名相同的类,可以在使用时写全类路径(导入了的类可以不写路径,直接调用类) 4.包命名 包的命名 阅读全文
posted @ 2021-09-04 17:31 CH0701 阅读(80) 评论(0) 推荐(0)
摘要:数据结构与算法概述 1.字符串匹配,暴力算法(简单,效率低),KMP算法(部分匹配表);汉诺塔,分治算法; 2.八皇后,92种摆法,回溯算法;马踏棋盘,图的深度优化遍历算法(DFS)+贪心算法优化 3.内容包括: 稀疏数组、单向队列、环形队列、单向链表、双向链表、环形链表、约瑟夫问题、栈、前缀、中缀 阅读全文
posted @ 2021-09-04 16:38 CH0701 阅读(585) 评论(0) 推荐(0)
摘要:30.栈的应用场景和介绍 栈的应用场景: 栈的介绍: 31.栈的思路分析和代码实现 数组模拟栈思路分析: 数组模拟栈的具体实现: 栈的构造,栈满,栈空 出栈,入栈 显示栈的情况(遍历,从栈顶到栈底) 32.栈的功能测试和小结 练习:用链表模拟栈 33.栈实现综合计算器思路 34.栈实现综合计算器代码 阅读全文
posted @ 2021-09-04 16:38 CH0701 阅读(79) 评论(0) 推荐(0)
摘要:27.环形链表介绍和约瑟夫问题 单向环形链表应用场景:约瑟夫问题 单项环形列表案例: 约瑟夫问题分析: 使用单项环形链表完成约瑟夫问题(数组取模也可以完成 ) 数到n的节点出列,下一个节点继续报数 最后只剩一个节点时依旧是单项环形链表,它的next指向自己,且它会最后一个出列 28.约瑟夫问题分析图 阅读全文
posted @ 2021-09-04 09:09 CH0701 阅读(82) 评论(0) 推荐(0)
摘要:24.双向链表增删改查分析 单链表缺点:1.查找方向单一;2.节点不能自我删除 双向链表的增删改,遍历思路 25.双向链表增删改查代码实现 数据结构,属性,next,pre class DoubleLinkedList,初始化一个头节点,private HeroNode2 head=new Hero 阅读全文
posted @ 2021-09-03 22:41 CH0701 阅读(72) 评论(0) 推荐(0)
摘要:1.构造器基本介绍,构造器初始化一个对象的值(对象属性初始化),不是创建对象 构造器可以使用访问修饰符 参数列表和成员方法规则一致 构造器的三个特点 2.构造器快速入门 构造器没有返回值,也不能写void 3.构造器使用细节,七点注意事项 构造器名字和类名要相同(方法必须有返回值数据类型,没有返回值 阅读全文
posted @ 2021-09-03 15:30 CH0701 阅读(64) 评论(0) 推荐(0)
摘要:1.引出this,改善构造器中的形参名,使更易于阅读 2.this入门,this代表当前对象 this解决命名问题: 3.this本质,可以将this视为对象内的一个隐藏属性,指向当前对象(保存着当前对象的引用) 能不能打出this对象引用——>不行,Java代码运行在虚拟机上,虚拟机生成的this 阅读全文
posted @ 2021-09-02 22:54 CH0701 阅读(69) 评论(0) 推荐(0)
摘要:1.文件基础 2.创建文件File类, new只是写入内存,调用fileName.creatNewFile()真正创建文件; 路径需要\ 调用不同构造器实现不同的创建方法,append(Writer,Output) 3.获取文件信息,File类;调用方法get。。。 4.mkdir()一级目录,mk 阅读全文
posted @ 2021-09-02 21:43 CH0701 阅读(140) 评论(0) 推荐(0)
摘要:1.Person p加载Person类信息(Person.class,只会加载一次) 2.在堆中分配空间(内存地址),为属性赋初始值(默认初始化) 3.显示初始化基本类型int age=90,引用类型依旧为默认值String name(显示初始化) 4.构造器初始化 5.对象在堆地址返回给p(p是对 阅读全文
posted @ 2021-09-02 18:14 CH0701 阅读(51) 评论(0) 推荐(0)
摘要:1.作用域的基本使用 全局变量(属性)可以不赋值,直接使用,因为有默认值 局部变量必须赋值后,才能使用,因为没有默认值(直接使用会报错——未初始化值) 2.作用域的使用细节,五点 属性的生命周期较长,伴随着对象的创建而创建,伴随着对象的销毁而销毁(对象创建JVM内存分析,对象在堆中) 局部变量生命周 阅读全文
posted @ 2021-09-02 17:38 CH0701 阅读(87) 评论(0) 推荐(0)
摘要:1.可变参数的使用,可变参数的作用:优化方法重载 int...表示接受的时可变参数,类型是int,可以接收(0-多)个参数 使用可变参数是,可以当作数组来使用,即nums可以当作数组 遍历nums求和即可 2.可变参数的细节 5点注意事项: 直接传递一个数组到可变参数中: 3.可变参数的练习 阅读全文
posted @ 2021-09-02 16:47 CH0701 阅读(44) 评论(0) 推荐(0)
摘要:1.重载介绍 什么是重载:多个同名方法,通过不同的形参(个数,类型,顺序)进行区分,可以有不同的返回值 重载的好处:减少起名,减少记名,利于接口编程 2.重载快速入门 案例: 参数匹配时,先看参数个数是否一致,再判断参数类型是否一致 3.重载使用细节 方法重载不能通过使用不同的参数名实现 方法重载不 阅读全文
posted @ 2021-09-02 16:24 CH0701 阅读(78) 评论(0) 推荐(0)
摘要:16.单链表介绍和内存布局;链表(Linked List),有带头结点和不带头结点之分;链式存储,每个结点的位置不确定 17.单向链表的创建和遍历的分析实现 单链表创建示意图(添加),遍历分析: class Node结构: 单链表用一个类来实现class singleLinkedList,将一个个的 阅读全文
posted @ 2021-09-02 12:31 CH0701 阅读(83) 评论(0) 推荐(0)
摘要:10.队列的应用场景,银行排队;队尾rear添加数据,队首front取数据;可以通过数组或链表实现 11.数组模拟队列的思路,Queue类存放数组 问题:数组只能用一次,当数组数据加满后,不能再添加;且数据取出完后,不能再添加数据,front和rear都指向了队尾——>环形队列 当取出元素后,数组的 阅读全文
posted @ 2021-09-01 23:03 CH0701 阅读(159) 评论(0) 推荐(0)
摘要:7.稀疏数组的应用场景:五子棋,存盘退出,续上盘的功能 8.稀疏数组转换的思路分析 9.稀疏数组的代码实现 阅读全文
posted @ 2021-09-01 18:25 CH0701 阅读(50) 评论(0) 推荐(0)
摘要:1.字符串匹配,暴力算法(简单,效率低),KMP算法(部分匹配表);汉诺塔,分治算法; 2.八皇后,92种摆法,回溯算法;马踏棋盘,图的深度优化遍历算法(DFS)+贪心算法优化 3.内容包括: 稀疏数组、单向队列、环形队列、单向链表、双向链表、环形链表、约瑟夫问题、栈、前缀、中缀、后缀表达式、中缀表 阅读全文
posted @ 2021-09-01 18:24 CH0701 阅读(94) 评论(0) 推荐(0)
摘要:1.方法快速入门,行为method; 2.写一个有形参的成员方法,累加器加到n;有返回值的成员方法 3.方法调用机制 方法内调用方法会再开栈,最后逐级返回 分析: 调用方法getSum()时,会生成一个新的栈 将10赋给num1,20赋给num2 return结果返回p1.getSum(10,20) 阅读全文
posted @ 2021-09-01 09:22 CH0701 阅读(157) 评论(0) 推荐(0)