![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法第四版题目
Bug.Remove()
海阔凭鱼跃,天高任鸟飞~
展开
-
2.4.30动态中位数查找----优先队列
算法第四版2.4.30题目,插入和删除O(lgn),查找O(1)//动态查找中位数//常数时间内找到中位数,O(logn)时间内插入和删除中位数//解题思路//1、创建两个堆,一个大顶堆,一个小顶堆//2、大顶堆的堆顶放中位数,//3、保证插入的元素均匀分布在两个堆中/*注:1.大顶堆的元素一定小于等于小顶堆的元素2.要弹出堆的元素数量一定不小于插入堆的元素数量3.如果是大堆插入,小堆弹出,则中位数为中间(正好是奇数时)或者N/2+1;4.如果是小堆插入,大堆弹出,则中位数为中间原创 2021-08-22 16:28:58 · 253 阅读 · 1 评论 -
2.5.8标准输入读取字符按频率排序输出(自定义结构体排序)
解题思路由于是要从标准输入中读取,并按照单词出现的频率排序,因此我们可以按照如下方式去做。将读入的单词放到一个数组中对这个数组进行排序计算每个单词出现的次数定义一个结构体,来存储单词和单词出现的次数按照自定义结构体进行排序输出为什么要定义一个结构体?很简单,之所以定义结构体来存储单词和出现的频率是因为仿照MAP容器,每一个单词对应一个单词出现的频率,因此我们能够精确的确定单词和频率之间测对应关系;对自定义结构体进行排序利用STL算法库中的sort()函数,sort()函数的前两个参原创 2021-08-22 16:24:03 · 121 阅读 · 0 评论 -
矩阵的局部最小元素1.4.19
题目:给定一个含有 N^2 个不同整数的NxN数组a[]。设计一个运行时间和N成正比的算法来找出一个局部最小元素。满足a[i][j] < a[i+1][j]、a[i][j] < a[i-1][j]、a[i][j] < a[i][j-1]、a[i][j] < a[i][j+1]。代码实现/*------------------------矩阵的局部最小元素--------------------*///解题思路//仿照数据的局部最小元素:每次查找的方向总是小于上一次查找的值(原创 2021-08-04 20:34:52 · 425 阅读 · 0 评论 -
数组的局部最小元素1.4.18
题目:编写一个程序,给定一个含有N个不同整数的数组,找到一个局部最小元素:满足a[i] < a[i-1],且a[i] < a[i+1]的索引i。代码如下/*----------局部最小值---------------*///如果a[x] < a[x-1],a[y]<a[y+1],则a[x...y]的子数组中一定存在局部最小元素,即极小值//默认数组的开头元素的前一个,和结尾元素的后一个为无穷大#include <vector>using namespac原创 2021-08-04 20:27:10 · 296 阅读 · 0 评论