- 博客(14)
- 收藏
- 关注
原创 【排序算法】快速排序
排序(Sorting) 是计算机程序设计中的一种重要操作,它的功能是将一个数据元素的任意序列,重新排列成一个关键字有序的序列。需要通过基准将数据划分成两个部分,这两个部分也通过一个基准划分,一直到不可再分。),比如有序时数列的快排,在待排序数据元素已经有序的情况下快速排序时间复杂度最高,退化成冒泡排序。最好情况,每次数据元素都能平均的分成两个部分,得到完全二叉树的状态,空间复杂度O(logn)。最坏情况,每次数据元素只能分成一个部分,仅只有左(右)子数,空间复杂度为O(n)。思想在排序算法上的典型应用。..
2022-08-16 22:31:38 527 1
原创 【排序算法】计数排序
对 arr1 中的元素进行排序,使 arr1 中项的相对顺序和 arr2 中的相对顺序相同。它的优势在于在对一定范围内的整数排序时,它的复杂度为Ο(n+k),快于任何比较排序算法。给你两个数组,arr1 和 arr2,arr2 中的元素各不相同,arr2 中的每个元素都出现在 arr1 中。输入:arr1 = [2,3,1,3,2,4,6,7,9,2,19], arr2 = [2,1,4,3,9,6]输出:[2,2,2,1,4,3,3,9,6,7,19]要排序的数据范围过大,则需要的额外空间就越多。...
2022-08-14 23:56:24 375 2
原创 【排序算法】折半插入排序
插入排序(Insertion Sort)是一种简单直接的排序算法,它的基本思想是将一个记录插入到已经排好序的有序表中。就像打扑克牌的时候,整理手牌的过程。每次从原有数据中取出一个数,插入到之前已经排好的序列中,直到所有的数全部取完,那么新的有序排列也就完成了。排序(Sorting) 是计算机程序设计中的一种重要操作,它的功能是将一个数据元素的任意序列,重新排列成一个关键字有序的序列。两种算法进行结合,排序的思路与直接插入排序相同,只是在。实现是可以发现,对于相同的数组,排序所要进行。...
2022-08-14 23:12:15 552 1
原创 【查找算法】折半查找算法
**折半**查找,也称**二分搜索**,是一种在**有序**数组中查找某一特定元素的搜索算法。该方法是查找的范围不断缩小一半,因此查找效率较高。
2022-08-14 20:12:56 3257 1
原创 【排序算法】归并排序
归并排序是利用归并的思想实现的排序方法,该算法采用经典的分治( divideand conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案修补”在一起,即分而治之)。...
2022-08-07 23:21:40 582 6
原创 【排序算法】冒泡排序、选择排序、插入排序总结
插入排序、冒泡排序、选择排序。排序(Sorting) 是计算机程序设计中的一种重要操作,它的功能是将一个数据元素的任意序列,重新排列成一个关键字有序的序列。Insertion sort, Bubble Sort, Selection Sort. ...
2022-08-04 07:43:12 167 6
原创 【查找算法】顺序查找算法简述及Java代码实现
**顺序**查找,也称**线性**查找,是最简单的查找方法。从头到尾遍历,逐个元素比较,若与给定值相等,则查找成功,给出该记录在表中的位置;若整个表检索完仍未找到与给定值相等的元素,则查找失败,给出失败信息。...
2022-08-01 23:07:58 1048 1
原创 【题解报告】--- 1614. 括号的最大嵌套深度 1381. 设计一个支持增量操作的栈
遍历字符串,如果遇到了一个左括号,那么就将其入栈;如果遇到了一个右括号,那么就弹出栈顶的左括号,与该右括号匹配。并且记录栈到最大值。 对于门体,代码实现的时候,我们只需要记录栈的大小。复杂度分析时间复杂度:O(n)。字符串s的大小空间复杂度:O(1)。......
2022-07-14 10:10:25 161
原创 第14天 - 栈
文章目录前言一、练习题目二、代码和思路题目一题目二题目三题目四前言 打卡贴(第14天) 今日内容:栈一、练习题目 题目一:LeetCode | 1441. 用栈操作构建数组|★☆☆☆☆ 题目二:LeetCode | 1
2022-05-14 21:50:13 129
原创 第11天 - 矩阵
文章目录前言一、练习题目二、代码和思路题目一题目二题目三题目四前言 打卡贴(第11天) 今日内容:矩阵一、练习题目 题目一:LeetCode | 1351. 统计有序矩阵中的负数|★☆☆☆☆ 题目二:LeetCode
2022-05-11 11:07:23 118
原创 第09天 - 二分查找
文章目录前言一、练习题目二、代码和思路前言 五月集训打卡贴(第9天) 今日内容:二分查找一、练习题目 题目一:LeetCode | 35. 搜索插入位置|★☆☆☆☆ 题目二:LeetCode | 704. 二分查找|.
2022-05-09 19:56:26 142
原创 【五月集训】第06天 - 滑动窗口
文章目录前言一、练习题目二、代码三、我写的bug前言 五月集训打卡贴一、练习题目 题目一:LeetCode 1984. 学生分数的最小差值|★☆☆☆☆ 题目二:LeetCode 1876. 长度为三且各字符不同的子字符串|★☆☆☆☆ 题目三:LeetCode 18.
2022-05-06 19:29:43 384 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人