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