![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 52
IT圈最后的深情
00
展开
-
链表(头插法和尾插法)
先定义一个ListNode类 public class ListNode { public int val; public ListNode next; public ListNode() { } public ListNode(int val) { this.val = val; } public ListNode(int val, ListNode next) { this.val = val; this.next = next; } }原创 2021-09-07 00:41:38 · 247 阅读 · 0 评论 -
2021-09-06
5.选择排序----堆排序 一、完全二叉树 完全二叉树是一种特殊的二叉树。从上到下,从左到右,每一层的节点都是满的,最下边一层所有的节点都是连续集中在最左边 二、堆 堆排序分为两种,分别是大顶堆和小顶堆。 大顶堆:在完全二叉树的基础上,每个结点的值都大于或等于其左右孩子结点的值 小顶堆:在完全二叉树的基础上,每个结点的值都小于或等于其左右孩子结点的值 三、堆排序的特点 堆排序是利用堆这种数据结构而设立的一种排序算法 (这个地方需要将数据的下标放在树的一旁(目的是为了让同学们知道规律是怎么知道的)) http原创 2021-09-06 01:37:40 · 82 阅读 · 0 评论 -
HashMap和HashTable有什么区别
1.hashMap去掉了HashTable的contains方法,但是加上了containsValue()和containsKey()方法 2.hashtable是同步的,而hashMap是非同步的,效率上hashTable要高 3.hashMap允许空键值,而hashtable不允许。原创 2021-09-03 03:47:35 · 190 阅读 · 0 评论 -
用两个栈实现队列
栈:(先进后出) 1.只允许在固定的一端(栈顶)进行插入和删除元素操作; 2.进行数据插入和删除操作的一端称为栈顶,另一端称为栈底; 3.栈中的数据元素遵守后进先出 LIFO(Last In First Out)的原则; 4.压栈:的插入操作叫做进栈/压栈/入栈,入数据在栈顶; 5.出栈:栈的删除操作叫做出栈,出数据也在栈顶; 队列:(先进先出) 1.只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表; 2.队列中的数据元素遵守先进先出 FIFO(First In First Out)的原则原创 2021-09-02 04:26:01 · 365 阅读 · 0 评论 -
基数排序(桶排序的扩展)轮次详解
基本思想 基数排序是桶排序的扩展,他的基本思想是:将整数按位切割成不同的数字,然后按每个位数分别比较。 具体做法是:将所有待比较数值统一为同样的位数长度,数位较短的数前边补零。然后,从最低位开始,依次进行一次排序,这样从最低位排序一直到最高位排序完成后,就变成一个有序数列。 图例 动态图 以最高位为百位来看,个位十位百位分三轮分别分析 代码部分 第二轮 第三轮 源码如下 package com; import java.util.Arrays; ...原创 2021-08-28 23:02:17 · 147 阅读 · 0 评论