1.算法:算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作. 那么一个怎样的算法才能称得上是好算法,也就是说有没有什么标准来评判一个算法的好坏? 在此之前,咱们先来做个试验: 用两种方式来实现求裴波那契数列第n项的值,一种方式用递归方式,第二种方式用普通循环方式. 在得到结果之前,你猜猜那种方式计算结果更快一些,还是一样快? 测试代码如下(JavaScript): /** * 1.递归实现斐波那契数列: * 1,1,2,3,5... 第n项 = 第…
目录 数据结构与算法 java描述 笔记 第一章 算法及其复杂度 算法的定义 算法性能的分析与评价 问题规模.运行时间及时间复杂度 渐进复杂度 大 O 记号 大Ω记号 Θ记号 空间复杂度 算法复杂度及其分析 O(1)⎯⎯取非极端元素 O(logn)⎯⎯进制转换 O(n)⎯⎯数组求和 O(n$^2$ )⎯⎯起泡排序 O(2$^r$ )⎯⎯幂函数 计算模型 递归 线性递归 递归算法的复杂度分析 递归跟踪法 递推方程法 二分递归 多分支递归 数据结构与算法 java描述 笔记 第一章 算法及其复杂度…
"流程控制语句":if.for. 1.1 if 选择语句,给程序添加了多种执行路线. 1 if(){ 2  语句1 3 }else if(){ 4  语句2 5 }else if(){ 6  语句3 7 }else{ 8  语句4 9 } 有且仅有一条出路.注意跳楼现象. 所以我们发现,计算机的两个基本能力:1)计算能力 2)流程控制能力 1.2 for 循环语句,顾名思义,就是将结构类似的语句重复执行. 1 for(var i = 0 ; i <= 100 ; i++){ 2 …
一.什么是链表 链表是一种链式存储的线性表,是由一组节点组成的集合,每一个节点都存储了下一个节点的地址:指向另一个节点的引用叫链:和数组中的元素内存地址是连续的相比,链表中的所有元素的内存地址不一定是连续的.结构模拟如图: 一般来说,说到链表,就要提下数组,一般链表都是和数组进行对比. 在很多编程语言中,数组的长度时固定的,所以数组中的增加和删除比较麻烦,需要频繁的移动数组中的其他元素. 然而,JavaScript中的数组并不存在上述问题,JS中的数组相对其他语言使用上更方便,因为JS中的数组本…
简介:JavaScript 运行在客户端(浏览器)是一种客户端语言,javascript的引擎被称为JavaScript引擎,为浏览器的一部分广泛用于客户端的脚本语言 应用场景:网页特效, 服务端开发(Nood.js),命令行工具(Noode.js),桌面程序(Electron),App(Cordova), 控制硬件-物联网(Ruff),游戏开发(cocos2d-js). js的组成: ECMAScript  是js的核心, DOM 文档对象模型 (可以操作浏览器窗口 比如:弹出框 控制浏览器跳…
初识javascript js是前端中作交互控制的语言,有了它,我们的前端页面才能"活"起来.学好这么语言显得非常重要,但是存在一定难度,所以一定要认真学习,充满耐心. js书写规范 1.严格区分大小写 2.每一行完整的语句要用 ; 3.代码要缩进 4.js必须用半角符号 注册事件 document.getElementById获取div的id,点击发生事件 document.getElementById('box').onclick = function(){ this.innerH…
无限轮播在网页应用中经常见到,这其中算法各有千秋,在学习算法分析一书中发现自增取余方法可以干掉一些不必要的if判断,具体代码如下: var arr= [1,2,3,4,5,6,7,8]; var index=0; var length=arr.length; setInterval(function(){ // 自增 console.log(arr[index++%length]); // 自减 // console.log(arr[index=(index+length-1)%length])…
python与C语言的代码格式区别: 需注意:1.python中语句结束没有分号 “;” 2.python中严格要求缩进,且在判断和循环等语句中把括号用冒号代替. 3.经常使用tab键进行缩进. 4.python中输出为print() 5.字符串表示方法有四种: 分别是:{'hello',"hello","""hello """,'''hello'''} 编写格式如下: #if-else if 条件 : 写入执行内容 else…
一.双向链表 在上文<JS数据结构第二篇---链表>中描述的是单向链表.单向链表是指每个节点都存有指向下一个节点的地址,双向链表则是在单向链表的基础上,给每个节点增加一个指向上一个节点的地址.然后头结点的上一个节点,和尾结点的下一个节点都指向null.同时LinkedList类中再增加一个last内部属性,一直指向链表中最后一个节点.结构模拟如图: 同样对外暴露的方法和单向链表一样,只是内部实现稍有变化 双向链表完整设计代码: /** * 自定义双向链表:对外公开的方法有 * append(e…
第一篇就画一个球体吧 首先我们知道Three.js其实是一个3D的JS引擎,其中的强大之处就在于这个JS框架并不是依托于JQUERY来写的.那么,我们在写这一篇绘制3D球体的文章的时候,应该注意哪些地方呢?下面我就来一一列举 1.场景. 场景是什么,说得简单一点,场景就是一个canvas ,我们就是要在Canvas上面实现3D效果的画面而已.场景和容器,相机是息息相关的,我们就拿拍戏来说,假如我们需要演一个古装剧的撕逼场景,那么,我们需要的道具其中之一就是一个相机. 2.容器 就是承载球体的DI…