会议室
摘要:#富途一面算法题# ps:leetcode需要开通会员,才能刷这道题目。 一、题目描述 给一个会议时间安排的数组intervals,每个会议室包含开始时间和结束时间,即intervals[i] = [starti, endi],为避免会议冲突,同时要考虑充分利用会议室资源,至少需要多少间会议室,才能
阅读全文
posted @
2023-05-17 15:09
大黑ylx
阅读(120)
推荐(0)
计数排序
摘要:计数排序有四个步骤: (1)首先会对每个输入进行频率统计,得到元素的频率表; (2)然后将频率表转换为该元素的开始索引; (3)根据各个元素的开始索引,将相同元素分类到临时数组中。 (4)最后将临时数组中的元素写回到原数组中。 1 /*计数排序*/ 2 function countingSort(a
阅读全文
posted @
2020-01-19 15:51
大黑ylx
阅读(151)
推荐(0)
二分查找(折半查找)
摘要:二分查找(折半查找)是指用给定值target先与中间结点的关键字比较,中间结点把线形表分成两个子表,若相等则查找成功;若不相等,再根据k与该中间结点关键字的比较结果确定下一步查找哪个子表,这样递归进行,直到查找到或查找结束发现表中没有这样的结点。二分查找要求元素必须是有序的,如果是无序的则要先进行排
阅读全文
posted @
2018-10-08 16:33
大黑ylx
阅读(399)
推荐(0)
顺序查找
摘要:顺序查找是指从数据结构线形表的一端开始,顺序扫描,依次将扫描到的结点关键字与给定值target相比较,若相等则表示查找成功;若扫描结束仍没有找到关键字等于k的结点,表示查找失败。顺序查找属于无序查找算法,适合于存储结构为顺序存储或链接存储的线性表,其算法时间复杂度为O(n)。
阅读全文
posted @
2018-10-08 15:42
大黑ylx
阅读(257)
推荐(0)
堆排序
摘要:堆排序是指利用堆这种数据结构所设计的一种排序算法。近似于完全二叉树,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。它的时间复杂度是O(nlog2(n)),空间复杂度是O(1),其算法不稳定。
阅读全文
posted @
2018-10-08 10:53
大黑ylx
阅读(112)
推荐(0)
归并排序
摘要:归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为2-路归并。其中时间复杂度O(nlog2(n)),空间复杂度O(n),算法相对稳定。
阅读全文
posted @
2018-10-06 09:46
大黑ylx
阅读(131)
推荐(0)
希尔排序
摘要:希尔排序是插入排序的改进版本,它与插入排序的不同之处在于,它会优先比较距离较远的元素。其中它的时间复杂度为O(n^1.3),空间复杂度O(1),算法相对不稳定。
阅读全文
posted @
2018-10-03 11:02
大黑ylx
阅读(149)
推荐(0)
插入排序
摘要:插入排序的基本工作原理:对于未排序列,在已排序列中从后向前扫描,找到相应的位置并插入。其中时间复杂度O(n^2),空间复杂度O(1),算法相对稳定。
阅读全文
posted @
2018-10-02 18:13
大黑ylx
阅读(792)
推荐(0)
冒泡排序
摘要:冒泡排序的基本原理是:每次比较两个元素,顺序错误就交换两个,直到没有再需要交换。其中时间复杂度为 O(n^2),空间复杂度为O(1),算法相对稳定。
阅读全文
posted @
2018-10-02 17:25
大黑ylx
阅读(89)
推荐(0)
选择排序
摘要:选择排序的工作原理是:每次在排序序列中找到最小(大)元素,放在起始位置,然后在剩下的序列中继续寻找最小(大)元素。其中时间复杂度是O(n^2),空间复杂度O(1),算法不稳定。
阅读全文
posted @
2018-10-02 13:28
大黑ylx
阅读(124)
推荐(0)
快速排序
摘要:快排的思路:找到一个基准数,把大于基准数的数字放在基准数的右边部分,小于基准数的放在左边部分;排完后,再对左边部分和右边部分分别进行上述操作,递归下去,直到子序只剩下一个数字。 其中快排的时间复杂度为O(nlogn),空间复杂度为O(nlogn),但算法相对不稳定。
阅读全文
posted @
2018-09-17 10:53
大黑ylx
阅读(133)
推荐(0)