07 2016 档案

摘要:问题由来: 可以看到当传入参数为数组的时候,调用函数,参数值改变;但当传入数字时,参数值不变。 问题原因如下: Js函数的传值和传址参数 传值:只是将变量的值传入函数,函数会另外配置内存保存参数值,所以并不会改变原变量的值。 传址:将变量实际保存的内存位置传入函数,所以如果在函数中变更参数的值,也会 阅读全文
posted @ 2016-07-21 09:41 李靠谱 阅读(294) 评论(0) 推荐(0)
摘要:分治法: 1、思想:①将问题的实例划分为同一个问题的几个较小的实例,最好拥有相同的规模;②对于较小的实例进行求解,一般使用递归法,在问题规模足够小的情况下也是用另一个算法;③如果必要的话,合并这些较小问题的解 2、通用分治递推式:T(n) = a*T(n/b) + f(n); 其中,T(n)是指运算 阅读全文
posted @ 2016-07-19 20:57 李靠谱 阅读(1064) 评论(0) 推荐(0)
摘要:一、旅行商问题 1、问题描述 找出一条n个城市间的最短路径,每个断电只穿越一次 2、分析 在固定一个点作为起点和终点的情况下,排列的总次数为(n-1)!/2次,因此只能在n很小的情况下才可以使用。尤其,当不固定顶点作为起终点,则排列数量在扩大n倍 二、背包问题 1、问题描述 当容器的容积一定时,找出 阅读全文
posted @ 2016-07-17 20:36 李靠谱 阅读(1300) 评论(0) 推荐(0)
摘要:一、最近对问题:即从一个二维或多位的空间中找出距离最近的两个点 1、步骤 a、分别计算每一对点之间的距离 b、找出距离最近的那一对 (为了避免重复计算,只考虑i<j的那些对) 2、JavaScript实现 3、算法分析 可使用(Xi - Xj)2 +(Yi - Yj)2代替sqrt((Xi - Xj 阅读全文
posted @ 2016-07-17 20:27 李靠谱 阅读(2350) 评论(0) 推荐(0)
摘要:一、顺序查找 1、步骤:简单的将给定列表中的连续元素与给定的查找键作比较,直到遇到一个匹配的元素或遇到匹配元素前就遍历了整个列表 2、JavaScript代码实现 3、算法分析: 顺序查找算法具有蛮力法的优点(简单)和缺点(效率低),是一个线型算法 一、蛮力字符串匹配 1、步骤(需要从m个“文本”中 阅读全文
posted @ 2016-07-15 21:46 李靠谱 阅读(1979) 评论(0) 推荐(0)
摘要:冒泡排序 一、步骤 ①比较列表中的相邻元素,如果它们是逆序的则交换位置,进行下一组,多次比较之后,最大的元素就“沉入”到了列表的最后 ②比较下一轮,直到n-1遍之后,列表顺序完毕 二、JavaScript代码实现 三、算法分析 对于输入规模为n的数组来说,键值的比较次数是相同的,均为C(n)=Σ[i 阅读全文
posted @ 2016-07-14 20:29 李靠谱 阅读(565) 评论(0) 推荐(0)
摘要:近日开始学习算法,所看课本为清华大学出版社的《算法设计与分析基础》,对简单的数据结构进行了复习,已经学习了算法效率分析基础。 本篇开始对所学算法的思想进行实际JS编码,看学习的进度,每日写一篇学到的算法,以上为背景。 蛮力法是一种直接解决问题的方法,常常基于问题的描述和所涉及的概念定义;所谓的“力” 阅读全文
posted @ 2016-07-14 19:37 李靠谱 阅读(1799) 评论(0) 推荐(0)