![](https://img-blog.csdnimg.cn/512c35fc3e644d9c9fe7e90011f66433.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
算法结构
文章平均质量分 54
数据结构与算法
靖节先生
分布式微服务架构设计,致力于业务持续优化迭代,通过技术能力创造业务价值!
展开
-
Java常见排序算法
Java常见排序算法1. 排序算法概述1.1 排序算法分类1.2 排序算法总结2. 排序算法2.1 冒泡排序2.2 快速排序2.3 直接插入排序2.4 希尔排序2.5 简单选择排序2.6 堆排序2.7 归并排序2.8 桶排序2.9 计数排序2.10 基数排序1. 排序算法概述1.1 排序算法分类数据结构与算法作为开发的基础是必不可少的技能,排序作为数据结构中比较重要且基础的能力。常见的排序算法按是否比较分为比较类与非比较类。1.2 排序算法总结2. 排序算法2.1 冒泡排序冒泡排序,又称起原创 2022-05-23 18:29:06 · 368 阅读 · 0 评论 -
leetcode 数组中重复的数据
leetcode 数组中重复的数据数组中重复的数据给你一个长度为 n 的整数数组 nums ,其中 nums 的所有整数都在范围 [1, n] 内,且每个整数出现 一次 或 两次 。请你找出所有出现 两次 的整数,并以数组形式返回。你必须设计并实现一个时间复杂度为 O(n) 且仅使用常量额外空间的算法解决此问题。示例 1:输入:nums = [4,3,2,7,8,2,3,1]输出:[2,3]示例 2:输入:nums = [1,1,2]输出:[1]示例 3:输入:nums = [1原创 2022-05-16 14:40:52 · 465 阅读 · 0 评论 -
leetcode 字符串中最大的 3 位相同数字
leetcode 字符串中最大的 3 位相同数字给你一个字符串 num ,表示一个大整数。如果一个整数满足下述所有条件,则认为该整数是一个 优质整数 :该整数是 num 的一个长度为 3 的 子字符串 。该整数由唯一一个数字重复 3 次组成。以字符串形式返回 最大的优质整数 。如果不存在满足要求的整数,则返回一个空字符串 “” 。注意:子字符串 是字符串中的一个连续字符序列。num 或优质整数中可能存在 前导零 。示例 1:输入:num = "6777133339"输出:"777"原创 2022-05-09 16:28:52 · 342 阅读 · 0 评论 -
二叉树,平衡二叉树,B-Tree,B+Tree,跳表详解
二叉树,平衡二叉树,B-Tree,B+Tree,跳表详解1.二叉查找树(BST)1.1 二叉查找树概念1.2 二叉查找树特点2. 平衡二叉树(AVL)2.1 平衡二叉树概念2.2 平衡二叉树特点3. 平衡多路查找树(B-Tree)3.1 B-Tree概念3.2 B-Tree特点4. B+Tree5. B树和B+树区别5. 跳表(Skip list)5.1 跳表的概念5.2 跳表的特点7. B+树比B树更适合数据库索引8. Redis有序集合为什么是跳表而不是红黑树/B+树9. Mysql的索引为什么使用B原创 2022-05-09 11:33:18 · 1361 阅读 · 1 评论 -
滑动窗口算法 计算长度为k的连续子数组的最大总和
计算长度为k的连续子数组的最大总和1.滑动窗口算法概述1.1 滑动窗口协议1.2 滑动窗口算法2. 计算长度为k的连续子数组的最大总和1.滑动窗口算法概述1.1 滑动窗口协议滑动窗口协议(Sliding Window Protocol),该协议是 TCP协议 的一种应用,用于网络数据传输时的流量控制,以避免拥塞的发生。该协议允许发送方在停止并等待确认前发送多个数据分组。由于发送方不必每发一个分组就停下来等待确认。因此该协议可以加速数据的传输,提高网络吞吐量。滑动窗口算法其实和这个是一样的,只是用的地原创 2021-11-15 14:04:50 · 1560 阅读 · 0 评论 -
分治法对比大文件URL
分治法对比大文件内rul1. 需求描述2. 原理分析2.1. 布隆过滤器2.2. 分治法3.实现验证3.1 文件准备3.2 代码实现3.3 结果验证1. 需求描述给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url?2. 原理分析2.1. 布隆过滤器采用Bloom filter,假设布隆过滤器的错误率为0.01,则位数组大小m约为输入元素个数n的13倍,此时需要的哈希函数k约为8个。元素个数:n = 5G位数组大小:m = 5G *原创 2021-09-09 14:53:20 · 440 阅读 · 0 评论 -
算法会议室问题及计算重叠时间区间段
算法会议室问题及计算重叠时间区间段1. 会议室问题2. 计算重叠时间区间段1. 会议室问题package com.zrj.algorithm.test;import cn.hutool.core.date.DateUtil;import java.util.Arrays;import java.util.Date;/** * 最小会议室问题 * 先说下题目,输入若干时间区间,计算最小需要会议室数。 * 既给你输入若干形如[begin, end]的区间,代表若干会议的开始时间和结束时间原创 2021-07-16 13:04:49 · 1665 阅读 · 0 评论 -
算法 二分查找法BinarySearch
算法 二分查找法BinarySearch1. 二分查找法概述2. 二分查找法实现1. 二分查找法概述二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,直到找原创 2021-07-06 21:48:56 · 242 阅读 · 0 评论 -
1-软件设计-各个模块分析
1-软件设计-各个模块分析知识点说明软件工程基础知识开发模型,设计原则,测试方法,质量特性,CMM,pert图,甘特图等面向对象1面向对象基本概念,分析设计,UML数据结构与算法数组,队列,栈,二叉树,排序程序设计语言文法,正规式等计算机硬件基础组成原理1操作系统PV算法数据库系统ER模型计算机网络协议消息安全加解密多媒体基础基本概念知识产权与标准化知识产权...原创 2020-09-02 05:56:07 · 851 阅读 · 0 评论