小德同学
小德同学
全部文章
算法和数据结构
MySQL(1)
Spring Cloud(2)
学习笔记(15)
设计模式(3)
归档
标签
去牛客网
登录
/
注册
小德同学的博客
加油学习,努力挣钱
全部文章
/ 算法和数据结构
(共11篇)
LRU缓存结构
方法:哈希表+双向链表 知识点1:哈希表 哈希表是一种根据关键码(key)直接访问值(value)的一种数据结构。而这种直接访问意味着只要知道key就能在O(1)O(1)O(1)时间内得到value,因此哈希表常用来统计频率、快速检验某个元素是否出现过等。 知识点2:双向链表 双向链表是一种特殊的链...
2022-12-05
0
611
主持人调度(贪心算法)
描述 有 n 个活动即将举办,每个活动都有开始时间与活动的结束时间,第 i 个活动的开始时间是 starti ,第 i 个活动的结束时间是 endi ,举办某个活动就需要为该活动准备一个活动主持人。 一位活动主持人在同一时间只能参与一个活动。并且活动主持人需要全程参与活动,换句话说,一个主持人参与了...
2022-12-04
0
920
分糖果问题(贪心算法)
描述 一群孩子做游戏,现在请你根据游戏得分来发糖果,要求如下: 每个孩子不管得分多少,起码分到一个糖果。 任意两个相邻的孩子之间,得分较多的孩子必须拿多一些糖果。(若相同则无此限制) 给定一个数组 arrarr 代表得分数组,请返回最少需要多少糖果。 要求: 时间复杂度为 O(n)O(n) 空间...
2022-12-04
0
1349
二叉树各种遍历
数据结构 二叉树数据结构如下: public class TreeNode { public int val; public TreeNode left; public TreeNode right; public TreeNode(int val) { ...
2022-12-01
0
488
常见的八大排序算法
一、算法思维导图 二、冒泡排序 1、基本思想 依次比较相邻的两个数,将比较小的数放在前面,比较大的数放在后面。 2、动态效果图 3、代码实现 //冒泡排序 private static void bubbleSort(int[] arr){ // 标识变量,表示是否进行过交换 b...
2022-11-21
3
627
八皇后问题
一、八皇后问题 八皇后问题,一个古老而著名的问题,是回溯算法的经典案例。该问题由国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8*8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法 二、基本思路 1、第一个皇后先放第一行第一列; 2、...
2022-11-21
0
639
中缀表达式转为后缀表达式,实现逆波兰计算器
一、中缀表达式 中缀表达式是一个通用的算术或逻辑公式表示方法。我们小学学的加减乘除就是所谓的中缀表达式,便于人类计算的表达式。 例如:(3+4)* 5 - 6 二、前缀表达式和后缀表达式 (3+4)* 5 - 6的前缀表达式是- * + 3 4 5 6 (3+4)* 5 - 6的后缀表达式是 3 4...
2022-11-21
0
742
单链表试题
一、获取到单链表的节点的个数 /* * head 链表的头节点 * 返回有效节点的个数,没有统计头节点 * */ public static int getLength(HeroNode head) { if(head.next == null) { return 0; } int ...
2022-11-21
0
509
单链表
一、链表的特点 1、链表是一种非线性、非顺序的物理结构,是由多个节点组成。 2、链表采用的是“见缝插针”的存储方法,不要求内存连续,靠next指针关联起来。 3、链表的物理存储方式为随机存储,访问方式为顺序访问。 4、查找节点的时间复杂度为O(n),插入、删除节点的时间复杂度为O(1)。 5、链表适...
2022-11-21
0
3079
循环队列
一、队列 队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。 进行插入操作的端称为队尾,进行删除操作的端称为队头。 队列的数据元素又称为队列元素。在队列中插入一个队列元素称为入队,从队列中删...
2022-11-21
0
525
首页
上一页
1
2
下一页
末页