AYE89

coding & learning

导航

随笔分类 -  Algorithms

摘要:本文用python语言介绍三种不同的快排实现。 1. 一行代码实现的简洁版本 [python] view plain copy quick_sort = lambda array: array if len(array) <= 1 else quick_sort([item for item in  阅读全文

posted @ 2018-04-08 23:33 AYE89 阅读(375) 评论(0) 推荐(0)

摘要:分治法思想 把问题分解为k个规模较小的子问题,这些子问题(互相独立且)结构与原来问题的结构相同,再递归地求解这些子问题。 问题分解成子问题;(divide) 当达到某个阈值n0时,给出直接求解的方法;(conquer) 最后把各个子问题的解合并起来,得到原来问题的解;(merge) 算法设计伪代码 阅读全文

posted @ 2018-04-07 15:54 AYE89 阅读(404) 评论(0) 推荐(0)

摘要:一、面向的问题 问题 在问题的解空间中,搜索满足约束方程并使用目标函数达极值的解向量(集合中寻找最优子集)。 这类问题具有以下特点: 由初始输入构成的解空间; 约束方程,确定可行解; 目标函数(优化目标),确定最优解; 算法设计 适用贪心算法的问题有两个主要性质 贪心选择性:全局最优解,可以由一系列 阅读全文

posted @ 2018-04-04 11:06 AYE89 阅读(264) 评论(0) 推荐(0)

摘要:一、基本概念 时间复杂性的阶: logn,n,nlogn,n2,n3,2n,n! 多项式时间:上述前5项算法的时间复杂性与输入规模n的一个确定的幂同阶,可以用输入规模的一个多项式来表达; 指数时间:上述最后2项算法(指数次幂,阶乘)为指数时间; 不同级数的复杂度 算数级数:与末项平方同阶 T(n) 阅读全文

posted @ 2018-04-03 10:26 AYE89 阅读(972) 评论(0) 推荐(0)