算法
MTmantou
这个作者很懒,什么都没留下…
展开
-
数据结构算法之--折半查找(二分查找BinarySearch)
二分查找定义: 二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,原创 2017-04-23 19:51:28 · 975 阅读 · 0 评论 -
寻找两个有序数组的中位数--LeetCode----(2)
给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。示例 1:nums1 = [1, 3]nums2 = [2]则中位数是 2.0示例 2:nums1 = [1, 3]nums2 = [2]则中位数是 ...原创 2019-01-27 19:51:44 · 294 阅读 · 2 评论 -
排序算法总结(冒泡、选择、插入、希尔、快速、归并、基数、堆排序)
1.冒泡排序* 基本思想:通过对待排序序列从前向后(从下标较小的元素开始),依次比较相邻元素的值* 若发现逆序则交换,使值较大的元素逐渐从前向后移,就像水底的气泡一样逐渐向上冒* 因为排序的过程中,各元素不断接近自己的位置,如果一趟比较下来没有进行过交换,那说明序列有序,* 因此要在排序过程中设置一个标志flag判断元素是否进行过交换。从而减少不必要的比较。(冒泡【排序优化)...原创 2019-09-02 22:43:35 · 250 阅读 · 0 评论