数据结构与算法分析
正在修炼的IT大佬
迎难而上,知难而进。做难事,必有所得。
展开
-
二分查找(折半查找 ):C语言实现代码 + 详细解析
概念: 二分查找就是折半查找,叫法不一样而已,一个东西。实现逻辑:LOOP{判断arr[mid]是否等于目标?是:查找成功;跳出循环 否:重新定义边界;继续循环}成功&失败时机成功时机:break跳出循环,此时必然查找成功 失败时机:循环自然结束,此时必然失败查找一次的时间复杂度:O(log n)两种实现方式: 实现1:调用C++自带的...原创 2020-04-02 10:16:15 · 1582 阅读 · 0 评论 -
利用快速排序的思想,得到第K大数(代码 + 解析)
利用快排的思想,我们可以得到 [第K大数] 的算法思想如下: 一次划分之后,得到基准值的位置,然后和K进行一些比较,便可以得知要寻找的目标在基准值左边还是右边。 此时,再对左边(或者右边)进行一次划分 循环往复直至找到为止 代码:/*测试数据:0 9 1 8 2 7 3 6 4 51*/#include<stdio.h>#include...原创 2020-04-01 16:20:27 · 445 阅读 · 0 评论 -
快速排序代码 + 详细解析
算法思想:以一个元素为基准,将序列进行一次划分,使得左边都比它小,右边都比它大。 然后对左右序列不断进行划分,直至每一个序列都只有一个元素为止。 /*算法思想:-以一个元素为基准,将序列进行一次划分,使得左边都比它小,右边都比它大。-然后对左右序列不断进行划分,直至每一个序列都只有一个元素为止。测试数据:0 9 1 8 2 7 3 6 4 5*/#include<...原创 2020-03-31 16:55:35 · 408 阅读 · 0 评论