![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
文章平均质量分 73
caiyec
这个作者很懒,什么都没留下…
展开
-
排序算法及优化
常见排序算法及其优化前言一、冒泡排序二、插入排序1.优化插入排序三、希尔排序四、选择排序五、快速排序1.素颜快速排序2.优化快速排序3.非递归实现快速排序六、归并排序七、堆排序八、其他排序1.计数排序2.基数排序3.桶排序九、海量数据排序问题总结前言内排序 :将数据存储在内存上,在内存上进行的排序外排序:将数据存储在外存上(例如磁盘,硬盘)排序的一、冒泡排序1.冒泡排序是一种稳定的排序,思想就是遍历数组是将相邻的两个元素进行比较,值大的就往后面放,一趟冒泡排序的结果就是将数组中最大的值放到了最后原创 2021-06-30 10:55:54 · 230 阅读 · 5 评论 -
二叉树遍历选择题技巧
答题技巧一、根据先序和中序遍历求后序遍历练习1练习2二、根据后序和中序遍历求先序遍历练习1练习2三、其他情况一、根据先序和中序遍历求后序遍历练习1一棵二叉树的先序遍历为EFHIGJK,中序遍历为HFIEJKG,则后序遍历为因为知道先序遍历的结果,可以得知E就是根结点,由此可得中序遍历结果中E左边为其左子树,右边为其右子树之后就可以根据先序遍历的结果层层递推了总结:做题技巧就是根据先序遍历的特性(根左右),在中序遍历的结果找到根结点,根据这一特性将中序遍历层层划分,最终能得到二叉树的形状也能求原创 2021-06-21 09:56:10 · 1666 阅读 · 4 评论 -
Map和Set
了解HashMap和HashSet一、HashMap1.常用方法2.HashMap应用(1)将十万个数据,统计重复数字和出现的个数(2)两数之和二、HashSet1.常用方法2.HashSet应用(1)List当中存放数据为10万个,找出第一个重复的数据(2)只出现一次的数字(3)宝石与石头(4)旧键盘(5)两个数组的交集一、HashMap1.初始化HashMap,一般为K-V模型,即关键字Key和关键字所对应的值Value,注意关键字一般是唯一的,不能有重复的值,而Value可以有重复的,不作要求。原创 2021-06-20 20:47:34 · 124 阅读 · 0 评论 -
Java二维数组
二维数组前言一、二维数组的建立一、二维数组的遍历二、二维数组的应用1.打印菱形2.读入数据总结前言在Java中一般没有二维数组的概念,而二维数组就是类似于在一维数组中存放一个数组,注意数组的长度不能改变。一、二维数组的建立定义二维数组时第一个括号内代表有几个一位数组,第二个括号代表一维数组的长度。 int [][]array=new int[3][]; //前面括号中数字时必须填的 int[][]array1={{1},{2,3},{4,5,6}}; //已经赋值的二维数组定义一、二原创 2021-06-20 10:33:34 · 443 阅读 · 0 评论 -
初识动态规划
学习动态规划心得前言动态规划(Dynamic Programming)是什么?一、Fibonacci一、Fibo·nacci一、Fibonacci一、Fibonacci一、Fibonacci一、Fibonacci一、Fibonacci一、Fibonacci一、Fibonacci一、Fibonacci一、Fibonacci一、Fibonacci一、Fibonacci总结前言提示:最近在做题的时候,每次去做一些最大最小值,或者有多少种可能情况等问题的时候总是没有头绪,但是一看评论就是什么经典动规题目,代码原创 2021-06-19 15:15:09 · 147 阅读 · 0 评论 -
Java 方法的使用(方法重载、形参和实参调用关系、方法递归)
Java 方法的使用(方法重载、形参和实参调用关系、方法递归)前言一、方法重载二、实参和形参的传递三、方法递归前言提示:本文介绍了方法的三种实际的使用 方法重载、实参与形参传递的形式(有画内存图)方法递归(有基本递归例题)一、方法重载两同一不同同一个类,相同方法名称但是参数列表不同参数列表不同包括参数个数和参数类型不同,方法重载与方法的返回值无关代码如下(示例):package sum;//方法重载的实例public class Demo01 { public static原创 2021-05-01 14:09:22 · 221 阅读 · 0 评论 -
Java面试第一问,不进来看你就输了!!!
ArrayList和LinkedList的区别前言一、ArrayList1.ArrayList内部是动态数组的结构,二、LinkedList1.LinkedList内部是链表结构ArrayList和LinkedList的区别(增删改查)1.增加元素2.删除元素3.修改元素4.查找元素前言在面试过程中如果能有条理,流畅的说出二者的区别,那么你的一定会给面试官留下好的印象,有助于提高面试成功率,本文是从二者增删改查方面的区别做了总结,如有错误请指正,共同进步。一、ArrayList1.ArrayLis原创 2021-05-29 20:45:05 · 106 阅读 · 1 评论 -
Comparable和Comparator浅谈
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码原创 2021-05-23 18:28:10 · 127 阅读 · 0 评论 -
详解==与equals区别
==和equals一、equals二、==三、==和equals区别四、重写equals方法一、equals基本类型没有equals方法,引用类型比较的是两者的地址值 public String name="abc"; public static void main(String[] args) { Test test=new Test(); Test testB=new Test(); System.out.println(tes原创 2021-05-23 11:19:44 · 172 阅读 · 0 评论 -
Set使用
Set接口的使用 前言一、List当中存放10万个数据,找出第一个重复的数据二、删除重复字母三、List中存放10万个数据,统计重复数字出现的次数前言Java中Set是继承Collection的一个接口类,并且Set中只存储了Key方法,并且要求Key一定要唯一,并且不能修改,要修改只能先删除,后重新添加,Set中不能添加null的Key.Set的最大功能就是对集合的元素去重一、List当中存放10万个数据,找出第一个重复的数据去掉重复的元素,一般都用set方法,因为Set不能存储重复的元素.原创 2021-05-22 20:48:02 · 165 阅读 · 0 评论 -
Java实现堆及其功能
优先级队列(建一个大堆)一、建大堆二、入堆(入队列)三、出堆(出队列)四、优先级队列五、TopK问题六、堆排序一、建大堆堆逻辑上时一颗完全二叉树,物理上时存储在数组当中的大堆就是任意结点的值都大于其子树的值,小堆就是任意结点的值都小于其子树的值。堆能实现,快速找到集合中的最值问题。代码如下(示例):class TreeHeap{ public int[]elem; public int usedSize; public TreeHeap(){ this.原创 2021-05-21 11:14:01 · 113 阅读 · 0 评论 -
初识Java集合类
部分Java集合框架前言一、集合框架是什么?二、泛型三、包装类四、List接口五、面试常见问题总结六、实现一个扑克牌小游戏前言本文为初识Java的集合类,偏入门,希望能与大家一起学习。一、集合框架是什么?Java的集合框架Java Collection Framework,又被称为容器container,是定义在Java.util包下的一组接口interfaces和其实现类class,主要表现为将多个元素置于一个单元中,对这些元素进行存储、检索、管理,即平时我们俗称的增删改查。类和接口总览Ma原创 2021-05-18 20:06:56 · 150 阅读 · 0 评论 -
几种常见的Java排序算法
几种常见的Java排序算法前言一、插入排序二、希尔排序三、冒泡排序四、选择排序五、堆排序六、快速排序七、归并排序前言本文介绍了Java中几种常见的排序算法1.插入排序(插入排序,希尔排序)2.交换排序(冒泡排序,快速排序(递归非递归))3.选择排序(选择排序,堆排序)4.归并排序一、插入排序插入排序属于内部排序法,是对内部欲排序的元素以插入的方式移动到合适的位置即把所有的元素看成两部分,一部分是有序的,另外一部分是无序的,刚开始有序的部分为一个元素,而无序的部分则为n-1个元素,排序的时原创 2021-05-14 20:00:46 · 5860 阅读 · 0 评论