![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法分析
文章平均质量分 93
小乔不掉发
爱编程 爱生活
展开
-
七大排序算法详解,动图展示 +代码实现,老奶奶看了都直呼内行
我是标题:1、直接插入排序:2、希尔排序:3、选择排序:4、堆排序:5、冒泡排序:6、快速排序:7、归并排序排序总结:1、直接插入排序:1、[ 有序区间(黄色区间),无序区间(蓝色区间) ]每次操作:1、抓无序区间(右侧蓝区)的第一张牌(红色牌)2、依次和有序区间(左侧黄区)的牌比较(绿色为正在比较的牌)3、选择适合的位置插入代码实现:public static void insertSort(long[] array) { for (int i = 0; i <原创 2021-04-11 18:13:31 · 2434 阅读 · 8 评论 -
在一个有序数组中,查找具体的某个数(二分查找)
问题:给定已排序好的n个元素arr[0:n-1],现在要在这n 个元素中找出一特定元素x基本思想:将n个元素分成个数大致相同的两半,取arr[n/2]与x进行比较。如果x=arr[n/2],则找到x,算法终止。如果x<arr[n/2],则只要在数组arr的左半部继续搜索x。如果x>arr[n/2],则只需要在数组arr的右半部继续寻找x。最坏情况下的时间复杂度: O(log n)代码如下:#define _CRT_SECURE_NO_WARNINGS 1#include<s原创 2020-08-24 10:13:41 · 971 阅读 · 0 评论