算法学习笔记2 堆排序(topk问题)、归并排序、排序算法总结
堆排序——topk问题 用内置的sort()函数排序,时间复杂度为O(nlogn),实际上还需加上切片的步骤k,但由于k<n,可以省略。 将列表前5个元素取出来,建立一个小根堆,堆顶的1目前是第5大的数。 接着取后面的元素0,0比1小故忽略,继续取元素7,7比1大,用7替换堆顶元素1,并且对堆进行向下调整。 继续取剩下的4和5,替换堆顶元素并调整,最终倒序弹出堆顶就得到topk的值。 top…
堆排序——topk问题 用内置的sort()函数排序,时间复杂度为O(nlogn),实际上还需加上切片的步骤k,但由于k<n,可以省略。 将列表前5个元素取出来,建立一个小根堆,堆顶的1目前是第5大的数。 接着取后面的元素0,0比1小故忽略,继续取元素7,7比1大,用7替换堆顶元素1,并且对堆进行向下调整。 继续取剩下的4和5,替换堆顶元素并调整,最终倒序弹出堆顶就得到topk的值。 top…
OSGi是一个非常适合实现面向服务的应用(SOA)。 可以让Bundles导出服务,而其他Bundles可以在不了解源Bundles任何信息的情况下消费这些导出的服务。 (1)导出服务: 更新HelloService Bundle,以便能把HelloServiceImpl类的对象导出为服务。(接前面的内容) A、确认在HelloService Bundle中的MANIFEST.MF文件中导入了or…
Reids高速缓存数据库 Redis 是一个高性能的key-value(键值对)存储系统,是跨平台的非关系型数据库。Redis 能读的速度是11万次/s,写的速度是8.1万次/s。 Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API。 Redis 通常被称为数据结构服务…
第一个 ECharts 实例 // 基于准备好的dom,初始化echarts实例 var myChart1 = echarts.init(document.getElementById('demo1')); var myChart2 = echarts.init(document.getElementById('demo2')); // demo 1 var option1 = { title: …
前言 (1)之前因为一个字符指针和字符数组指针引发的bug,折磨了我一个下午才发现问题。之后我就打算研究一下系统是如何发现野指针乱访问问题。后面就一直深入到微机系统中的内存管理了。 (2)这些其实都是基础知识,只不过我一直不太明白,所以在此记录一下。 (3)阅读本文之前, 需要对C语言的指针和动态内存管理有一定的了解 ! 程序的存储 程序的主要存储模型 (1)一般来说,一个程序 主要 是由 代码段…
前言 本文利用MFC提供的CToolTipCtrl类,给对话框控件提供工具提示。 一、具体思路 创建和操作一个CToolTipCtrl 的具体思路为: 构造CToolTipCtrl 对象 . 调用Create方法创建一个Windows工具提示控件并将其附加给CToolTipCtrl 对象。 调用AddTool方法给一个器具(A “tool” is either a window, such as …
1.HashMap和Hashtable以及TreeMap都实现了Map接口; 2.HashMap和TreeMap是非线程安全的,而Hashtable是线程安全的,因为Hashtable里的方法使用Synchronize关键字修饰的; 3.因为HashTable使用了Synchronize关键字修饰,其性能比较差;而且HashMap中的key和value值都能为null值Hashtable中的key…
Unity 基础 之 WebCamTexture 获取设备摄像头(包括PC和移动端),简单渲染到 UGUI 或 游戏物体上 目录 Unity 基础 之 WebCamTexture 获取设备摄像头(包括PC和移动端),简单渲染到 UGUI 或 游戏物体上 一、简单介绍 二、实现原理 三、注意事项 四、效果预览 五、实现步骤 六、关键代码 一、简单介绍 Unity中的一些基础知识点。 本节介绍,使用 …
内容目录 Hive实战小项目 1、数据准备 2、业务分析 ①统计视频观看数Top10 ②统计视频类别热度Top10 ③统计出视频观看数最高的20个视频的所属类别以及类别包含Top20视频的个数 ④统计视频观看数Top50所关联视频的所属类别排序 ⑤统计类别视频观看数Top10 ⑥统计每个类别视频观看数Top10 ⑦统计上传视频最多的用户Top10以及他们上传的视频观看次数在前20的视频 Hive实…