随笔分类 - 算法
摘要:连续背包问题: 还是先讲一段故事吧。假如你是一个贼,有一天你去地主家偷东西。有4斤金沙,2斤银沙,10斤铜沙。 但是运气不好的是,你的包只能装8斤东西。那么你该偷什么走呢? 我们这边把这个问题分解成 方程式和约束条件 方程式:gx + sy + cz >max #gsc分布代表金银铜 约束条件:x+
阅读全文
摘要:在谈归并排序之前,我们先讨论下分治法 分治法:就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解(来自百度 233333) 分治法的核心就是把大问题拆分成小问题。一个属于领导的算法。。。 归并排序:将问题分成多个 然后解决后合并 说
阅读全文
摘要:如果我们想要在数组找到我想要的元素应该怎么办呢?? 这种遍历的方法就行 复杂度是 O(len(L1)) 我们没次都是会做最坏打算的所有遍历是必须的 这种方法实在是太慢,难道没有更好的方法吗? 答案就是二分法(当然是有序数组) 我们可以把数组中间的元素和我们要找的元素比较,然后如果中间的元素比较大 那
阅读全文
摘要:时间复杂度: 常用的时间复杂度有:常数级,对数级,线性级 线性对数级 平方级,立方级别,多项式级别,指数级别,阶乘级别 这里我们主要探讨对数级,线性级,平方级,指数级 为什么不讨论其他的?别的我也不会啊 囧 f(x) ε O(n*n):这里指的是f这个函数的增长速度 不会以后n*n快 这里的x指的是
阅读全文
摘要:老规矩: 什么是二分法: 其实是一个数学领域的词,但是在计算机领域也有广泛的使用。 为什么需要二分法? 当穷举算法性能让你崩溃时。 二分法怎么用呢? 让我们先玩一个游戏先,我心里想一个100以内的整数你来猜猜。那么你可以从1-100这么猜,当然如果我说我想的10000以内的,那么迭代次数线性上升。。
阅读全文
摘要:一 函数 函数的组成: def funname(parameters): instructions。。。。 在探讨函数的定义之前,让我们想想,如果我们写了上千行代码,其实各种变量定义,循环..... 我们如何知道代码执行到哪里了?或者说什么时候会结束? 因为我们应该谈谈函数的第一个特性了--分解 分
阅读全文
摘要:大概是最简单的一种排序了吧。。。 选择排序:单元排序 老湿们把教室里的座位按照好坏分了级别 然后成绩好的坐在第一区域 成绩中等的做在第二区域 成绩差的坐在第三区域 这大概就是最叼的选择排序了吧,自嘲。。。LOL 代码里面的操作好烦,不想打字了 。。。。但是思路很简单 大概就是逐个去比较 然后呢每次都
阅读全文
摘要:1什么是排序? 把无序序列通过算法转换成有序序列 2为什么需要用排序? 正确的处理数据(个人认为) 3如何用? 1 冒泡排序: 先要了解下穷尽算法,所谓穷尽,就是把事情发生的一切可能性都列举。冒泡排序的核心就是每个值与每个值的比较,最终取得最大值 比如我们要比较a0...a10 我们先用a0跟 a1
阅读全文

浙公网安备 33010602011771号