1.二分查找 ex1_1 ex1_2 ex2_2 3.用指针处理字符串 该部分的程序代码个人仅给出练习3的解释,其余两个练习解释近似 总结和体会 实验内容1:二分法查找 数组名作为参数vs指针变量作为参数(形参不同,而参形式相同,在函数实现中基本可以用相同元素进行计算) 实验内容2:选择排序法 字符 ...
分类:
其他好文 时间:
2019-05-25 12:56:56
阅读次数:
101
Part 1:二分法查找数据 方法1:形参是数组,实参是数组名,使用数组元素直接访问 运行结果如下: 方法2:形参是指针变量,实参是数组名,使用指针方式间接访问 运行结果如下: Part2.用选择法对一组数据由小到大排序 a. 结果如下: b. 结果如下: 用选择排序法的思想:选出n个数中最小的数与 ...
分类:
其他好文 时间:
2019-05-25 09:40:20
阅读次数:
77
摘自 挑战程序设计竞赛 和最大化最小值类似,最大化平均值也可以通过二分法求得。 比如下面这个经典的问题: 有n个物品的重量和价值分别是wi和vi,从中选出k个物品使得单位重量价值最大。 样例输入: 3 22 25 32 11234样例输出: 0.751分析: 一般先想到的是将每个物品的单位重量价值算 ...
分类:
其他好文 时间:
2019-05-24 23:53:44
阅读次数:
227
part1:使用二分法查找数据所在数组的位置 形参是数组,实参是数组名 运行结果 1.1形参是指针变量,实参是数组名 part2:选择排序法 按字典排序 part3:总结与体会 1.数组名作为参数 VS 指针变量作为参数 形参 实参 数组的写法 int fun(int a[ ], int n ) f ...
分类:
其他好文 时间:
2019-05-24 23:51:15
阅读次数:
159
题目链接 本题大意:给你n个长度为value[ i ]的长木板,让你切割成为等长的k份,问你切割的最大长度是多少。 本题思路:其实很容易可以想到先找到一个上界和一个下界,开始枚举里面的所有长度,去最长的那个即可,此时发现长度为浮点型朴素算法自然无法枚举,我们可以想到二分,局部逼近即可。 参考代码: ...
分类:
其他好文 时间:
2019-05-24 22:22:20
阅读次数:
145
一 : 归并排序 将两个的有序数列合并成一个有序数列,我们称之为"归并"。归并排序(Merge Sort)就是利用归并思想对数列进行排序。根据具体的实现,归并排序包括"从上往下"和"从下往上"2种方式。 1. 从下往上的归并排序:将待排序的数列分成若干个长度为1的子数列,然后将这些数列两两合并;得到 ...
分类:
编程语言 时间:
2019-05-22 09:52:21
阅读次数:
156
场景: 一组数字类型的数据,给出一个数字,求出数字对应的索引 例如: 我们要求55对应的索引位置。 假设arr数组中存储是数字范围的起始值(按范围求索引也可以应用此算法场景) 那么索引对值的表格为: · 我们使用二分法来求出50对应应该所在索引位置 一、实例解析 算法如下所示 运行过程如下所示: 1 ...
分类:
编程语言 时间:
2019-05-17 10:57:50
阅读次数:
303
仍然是二分法专栏系列 现在的问题是在不知道sorted array大小的情况下得知是否含有target元素 接口是 ArrayReader: reader.get(index) 如果超出界限 则返回 Integer.MAX_VALUE; 思路:1.首先找到比target大的右边界限 或者是已经越界的 ...
分类:
其他好文 时间:
2019-05-13 09:22:13
阅读次数:
177
利用二分法进行求根,只保留整数向下取整 Exp:sqrt(16)=4, sqrt(18)=4; 思路: 利用二分法,从1~x 中找出 x 的平方根 基本的思路是每次找到mid,然后判断真实的根在mid左边还是右边,舍去一另外的一半 但是这样的写法有可能会产生OverFlow的问题 改进后的写法 ...
分类:
其他好文 时间:
2019-05-13 00:58:58
阅读次数:
137
时间复杂度 O() 读作:bigO 分析最优算法 排序: 选择排序 插入排序 冒泡排序 归并排序 论对数器的重要性!! 比OJ更稳定 二分法(不一定要有序,只要在特定条件下) ...
分类:
编程语言 时间:
2019-05-04 09:17:02
阅读次数:
118