数据结构与算法
yqs_281876918
tnnd
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【golang】基于go语言的堆结构模板
【golang】基于go语言的堆结构模板原创 2022-07-10 21:21:31 · 182 阅读 · 0 评论 -
【mysql学习笔记23】索引优化
https://www.cs.usfca.edu/~galles/visualization/Algorithms.html可以对数据结构的过程进行一个动画展示,非常直观原创 2022-06-27 10:57:09 · 485 阅读 · 0 评论 -
分享一个在线数据结构可视化动画网站
https://www.cs.usfca.edu/~galles/visualization/Algorithms.html可以对数据结构的过程进行一个动画展示,非常直观转载 2022-06-23 20:58:54 · 1307 阅读 · 0 评论 -
【数据结构与算法】本地测试没问题,在线评测不通过的几种原因(java版)
1、类名不对(一般类名需要为Main)2、加了package语句3、缺少部分类的import4、java版本不一致5、数组越界6、数字溢出,一般需要把int改成大整数或者long7、样例输入过多导致IO占用时间过长,此时需要把Scanner改成StreamTokenizer类以降低IO时间8、未完待续。。。......原创 2022-06-03 21:23:27 · 759 阅读 · 0 评论 -
支持setAll方法且复杂度为O(1)的HashMap
核心思路为键值对里的值附加一个更新时间信息。并且在setAll时记录下setAll的时间这样子读取值的时候就可以根据时间来判断,如果值的更新时间比setAll早,说明它被setAll覆盖了,这样子直接返回setAllValue就可以了,反之比它晚的话说明没被覆盖,返回原值就行。代码实现(java)import java.util.HashMap;import java.util.Map;public class Main { public static void main(Strin原创 2022-05-18 23:13:14 · 432 阅读 · 0 评论 -
【贪心算法】手办合并
题目描述分析首先要明白5点想要保证距离最短每个手办必须只朝一个方向(左/右)移动n米(总不可能先左后右这样折返,得不偿失)每个手办的移动操作可以分解成更细小的按照一米一米的移动操作,比如一个手办向右移动4米就可以分解为四个向右移动一米的操作在2前提下会出现手办移动后和另一个手办位置重叠的情况,这个时候重叠的两个手办就可以合并,新的权值就是两个手办权值之和任意更改手办之间的移动顺序不会影响结果。先移动手办1和先移手办3对结果是没有任何影响的,甚至先讲手办1移动1m再将手办3移动2m再将手办1移原创 2022-05-17 10:35:50 · 190 阅读 · 0 评论 -
【贪心算法】参加漫展
我们应该按照漫展的结束时间排序,优先选择结束时间最早的漫展参加,然后再从剩下的里面再选择最早结束的,以此类推直到无漫展可参加。为什么可以这样子做?假设暑假有60天假设现在一场漫展都还没参加,需要挑选第一场去参加,那么如果最早结束的漫展在第5天,那么我们就应该选这场漫展。因为选择了这场,我们结束后就能继续选择6-60天的漫展参加,而如果我们第一场选了靠后的漫展(比如2-7天),那么结束后我们只剩下8-60天的漫展参加。同样是参加了一场漫展,早结束的那一场可选择下一场的范围更大,也就是说早结束只会赚不会.原创 2022-05-17 10:02:03 · 178 阅读 · 0 评论 -
【java】实现简单的负载均衡算法
代码结构图:Main类(程序入口)package lb;import lb.strategy.BalanceStrategy;import lb.strategy.impl.*;import java.util.ArrayList;import java.util.List;import java.util.Scanner;public class Main{ public static void main(String[] args) { //初始化候选服原创 2022-03-19 19:46:35 · 1168 阅读 · 3 评论 -
【java】java语言实现C++中的lower_bound和upper_bound以及拓展
前言:本文所有待查找数组均为有序且升序的数组,非则不适用于本文的函数一、查找小于等于目标元素的最后一个元素 private int lower_bound(int[] arr,int target) { int ans=-1; int left=0,right=arr.length-1; while (left<=right) { int mid=(left+right)/2; .原创 2022-03-19 13:23:02 · 1797 阅读 · 0 评论 -
PTA周测 二叉搜索树的最近公共祖先
给定一棵二叉搜索树的先序遍历序列,要求你找出任意两结点的最近公共祖先结点(简称 LCA)。输入格式:输入的第一行给出两个正整数:待查询的结点对数 M(≤ 1 000)和二叉搜索树中结点个数 N(≤ 10 000)。随后一行给出 N 个不同的整数,为二叉搜索树的先序遍历序列。最后 M 行,每行给出一对整数键值 U 和 V。所有键值都在整型int范围内。输出格式:对每一对给定的 U 和 V,如果找到 A 是它们的最近公共祖先结点的键值,则在一行中输出 LCA of U and V is A.。但如果 U原创 2021-12-15 10:07:49 · 1023 阅读 · 0 评论 -
稀疏矩阵的处理
稀疏矩阵的处理 (25 分)特殊矩阵在采用二维数组存储时,尽管矩阵操作的算法都很简单,但是其空间的利用率很低。 稀疏矩阵就是一种应用很广泛的特殊的矩阵。通常稀疏矩阵在处理时都采用“压缩”存储,即把稀疏矩阵的非零元素抽象成为一个以三元组(行,列,值)为数据元素的线性表来处理,此线性表可以采用顺序存储,也可以采用链式存储。现要求编程实现稀疏矩阵在“压缩”存储时的常用操作,如输出、转置、求和、乘等。现要求编程实现稀疏矩阵在“压缩”存储时的矩阵的常用操作,如输出、转置、求和、乘等。 即输入两个矩阵,完成如下操作原创 2021-12-07 22:37:58 · 3156 阅读 · 0 评论
分享