问题描述 比较直观的排序算法.具体算法介绍参照 "选择排序 百科" 代码描述 def selection_sort(input_arr): for i in range(len(input_arr) 1): 最后一个是最大的,不用再进行比较 min_index = i 最小值的下标.默认当前值是最小 ...
分类:
编程语言 时间:
2020-03-14 20:10:15
阅读次数:
60
《算法导论(原书第2版)》一书深入浅出,全面地介绍了计算机算法。对每一个算法的分析既易于理解又十分有趣,并保持了数学严谨性。本书的设计目标全面,适用于多种用途。涵盖的内容有:算法在计算中的作用,概率分析和随机算法的介绍。本书专门讨论了线性规划,介绍了动态规划的两个应用,随机化和线性规划技术的近似算法 ...
分类:
编程语言 时间:
2020-03-10 22:14:23
阅读次数:
69
以前在学校的时候,写了一个博客介绍遗传算法,并通过Matlab实现了该算法。但是很多读者反馈说代码运行不起来。 我因为现在没有Matlab工具了,而且Matlab还是挺贵的,所以还是用Python实现以下遗传算法,供大家学习。 写这个博客主要是因为我在学校学习遗传算法的时候,没学会,只是大概知道,但 ...
分类:
编程语言 时间:
2020-03-06 23:50:18
阅读次数:
98
算法介绍 + 算法简介:尺取法,又名two pointers(双指针法),是一种简洁而有效的dp优化算法,常见于将时间复杂度O($n^2$)的一般dp优化为O(n)。 + 适用条件:限制变量随着指针的单向移动,而呈单调变化。 + 实现细节: 1. 申请两个指针$p_1$,$p_2$。 2. 固定$p ...
分类:
其他好文 时间:
2020-03-05 20:52:17
阅读次数:
75
算法介绍 + 算法简介:三分法适用于以O($logn$)复杂度求解单峰函数的最值,平均每次舍去$1/3$的定义域。 + 适用条件: 1. 有界性:有明确的初始定义域。 2. 单峰性:仅存在一个目标最值,且最值两侧的函数单调。 (注:二分法用于求解单调函数零点,三分法用于求解单峰函数最值,二者思想相似 ...
分类:
其他好文 时间:
2020-03-05 20:42:02
阅读次数:
87
//2020.02.29数据结构与算法入门(python版本)第1章 评判算法的优劣指标有哪些?课时1:算法的基本概念 1、算法Algorithm是一个计算过程,是指解决一个问题的方法.2、数据结构是指数据存储的一种结构方式,是静态的.3、程序=数据结构+算法(尼古拉斯凯奇说过的一句著名的话).课时 ...
分类:
编程语言 时间:
2020-02-29 20:30:36
阅读次数:
63
数据结构与算法介绍 数据结构与算法的重要性 算法是程序的灵魂,优秀的程序可以在海量数据计算时,任然保持高速运算 框架和缓存技术的核心时算法 高薪 数据结构与算法的关系 数据(data)结构(Structure)是一门研究组织数据方式的学科,有了编程语言也就有了数据结构 程序 = 数据结构 + 算法 ...
分类:
编程语言 时间:
2020-02-20 13:11:01
阅读次数:
63
分治与汉诺塔 分治算法 分治算法介绍 分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排 ...
分类:
其他好文 时间:
2020-02-20 10:12:53
阅读次数:
62
动态规划与背包问题 应用场景-背包问题 物品 重量 价格 吉他(G) 1 1500 音响(S) 4 3000 电脑(L) 3 2000 背包问题:有一个背包,容量为4磅 , 现有如下物品 要求达到的目标为装入的背包的总价值最大,并且重量不超出 要求装入的物品不能重复 动态规划算法介绍 动态规划(Dy ...
分类:
其他好文 时间:
2020-02-20 09:33:08
阅读次数:
64
数据结构与算法介绍 数据结构与算法的重要性 算法是程序的灵魂,优秀的程序可以在海量数据计算时,任然保持高速运算 框架和缓存技术的核心时算法 高薪 数据结构与算法的关系 数据(data)结构(Structure)是一门研究组织数据方式的学科,有了编程语言也就有了数据结构 程序 = 数据结构 + 算法 ...
分类:
编程语言 时间:
2020-02-14 20:53:40
阅读次数:
69