思想:每次遍历列表,选择一个最大或者最小的数,然后将该数放在列表前面, 整个列表可以分为2部分:左边为每次选择的最大/最小数,右边等待选择的数据. 这个过程需要n-1趟,最后一个数肯定是最大/最小的数。 #!/usr/bin/env python #-*- coding:utf-8 -*- ''' ...
分类:
编程语言 时间:
2020-12-04 11:35:56
阅读次数:
23
周末去了动物园,虽然我几乎被冻成了狗,但还是好开心呀,今天开开心心的来更新啦!!! 题目描述: 方法:基于最大堆的贪心算法 维护最大堆存储字母,堆顶元素为出现次数最多的字母。首先统计每个字母的出现次数,然后将出现次数大于 00 的字母加入最大堆。 当最大堆的元素个数大于 11 时,每次从最大堆取出两 ...
分类:
其他好文 时间:
2020-12-04 11:30:05
阅读次数:
6
第四讲 排序 4.1 巨经典的排序算法 1. 冒泡排序(很简单) 平均时间复杂度 O(n^2) ,空间复杂度 O(1),稳定 基本思想 两个数比较大小,较大的数下沉,较小的数冒起来。 演示(图片来自菜鸟教程) 代码 /** * 冒泡排序 * @param array 待排序的数组 */ public ...
分类:
编程语言 时间:
2020-12-04 11:29:30
阅读次数:
5
有人说,90%的程序员都手写不出正确的二分查找 没错,我就是那90% c++的标准库里只提供了binary_search(),lower_bound(),upper_bound()三个函数,缺点就是,只能在数组或者vector这样的线性数据结构上二分 所以就需要整理一下二分的用法和代码 1,bina ...
分类:
其他好文 时间:
2020-12-04 11:17:31
阅读次数:
5
经过一段时间的数据结构与算法的学习,和学习了前人的经验,为了更好的指导自己(希望也能帮助到别人)之后数据结构与算法的学习,总结一下数据结构与算法学习的方法。以及推荐大家看看一套学习教程,有助于快速入门:https://4m.cn/7MHVd 一、记住数据结构,记住算法思想(是什么) 我觉得这个是数据 ...
分类:
编程语言 时间:
2020-12-04 11:16:07
阅读次数:
8
准备工作1.1下载最新源码,https://github.com/apache/lucene-solr1.2编译,按照说明,使用ant进行编译(我使用了anteclipse)1.3.将编译后的文件导入到eclipse,sts或者idea中2.新建测试类publicvoidtest()throwsIOException,ParseException{Analyzeranalyzer=newNGram
分类:
编程语言 时间:
2020-12-04 11:10:55
阅读次数:
5
1. 什么是哈希表 首先有这么一种情况,有24个人编号分别为1~24,我们需要将 24 人均分成 6 个组! 编号除 6 余数为 0 的为第零组: 6、12、18、24 编号除 6 余数为 1 的为第一组: 1、7、13、19 编号除 6 余数为 2 的为第二组: 2、8、14、20 编号除 6 余 ...
分类:
编程语言 时间:
2020-12-04 10:55:51
阅读次数:
5
【写在前言】 最近关注了好几个好友专门讲算法的公主号,赶脚还不错,本着“分享”、“共进”的初心,在征得本人的同意之下,特此将原内容经原作者本人同意授权后,重新编辑、排版、整理到此处。 在此,特别感谢小夕学算法,袁厨的算法小屋等原创作者大牛。 好了,话不多说,我要开启学习,和大家共同进步了,嘻嘻~~~ ...
分类:
编程语言 时间:
2020-12-03 12:28:44
阅读次数:
15
有了二叉搜索树为什么还要红黑树,以下面几个例子举例,如下面的二叉树可以达到很好的搜索效果 5 7 11 15 19 21 25 26 61 99 再看下面这棵树,我们将下面的数据按从左至右的顺序构造一棵二叉搜索树 15 13 16 11 9 7 5 3 按照之前我们二叉搜索树构建构建的方式,我们将得 ...
分类:
编程语言 时间:
2020-12-03 12:28:09
阅读次数:
15
梅森旋转算法实现 基本随机数函数 seed(a=None): 初始化给定的随机数种子,默认为当前系统时间。 只要随机数种子相同,产生的随机数序列也相同。 random(): 生成一个[0.0,1.0]之间的随机小数。 小提示: 如果给定随机数种子,则每次运行程序产生的随机数序列都相同,则每次调用ra ...
分类:
其他好文 时间:
2020-12-03 12:03:14
阅读次数:
6