【Reading Note】算法读书杂记】的更多相关文章

1 排序 排序基本信息 稳定性:排序前大的数在排序后,大的数依然保持不变就是稳定排序,反之不稳定 内外排序:根据待排序的记录是否放在内存里面区分的.诸如:插入排序(直接插入&希尔).交换排序(冒泡&快排).选择排序(简单选择&堆排).归并排序(归并). 算法性能影响:时间性能.辅助空间.算法复杂性(算法本身的复杂度跟时间复杂度区分开). 简单算法:冒泡排序.简单选择排序.直接插入排序 改进算法:希尔排序(不稳定).堆排序(不稳定).归并排序.快排(不稳定) 总之:排序四大类,简单有…
赋值 >>> list=[] >>> app=[list,list,list] >>> app [[], [], []] >>> app[1].append(1) >>> app [[1], [1], [1]] >>> id(app[1]) 1666670423944 >>> id(app[2]) 1666670423944 条件语句: >>> app=[1,''…
队列是一种列表,但是它只能够在队尾插入元素,在队首删除元素.队列用于存储按照顺序排列的数据,先进先出.而栈则是后入栈的元素反而被优先处理. 实际中一般被应用在进程池.排队操作上面. 1. 队列的操作 和上一章的栈类似,队列也应该具有入队.出队.清空队列这几个基本操作. 基本结构如下: function Queue(){ this.dataStore = []; this.enqueue = enqueue; this.dequeue = dequeue; this.front = front;…
2006年,机器学习泰斗.多伦多大学计算机系教授Geoffery Hinton在Science发表文章,提出基于深度信念网络(Deep Belief Networks, DBN)可使用非监督的逐层贪心训练算法,为训练深度神经网络带来了希望.如果说Hinton 2006年发表在<Science>杂志上的论文[1]只是在学术界掀起了对深度学习的研究热潮,那么近年来各大巨头公司争相跟进,将顶级人才从学术界争抢到工业界,则标志着深度学习真正进入了实用阶段,将对一系列产品和服务产生深远影响,成为它们背后…
原理 数据库的一致性 1.事务和代办事项表把戏(预写日志记录) 1.代办事项表把戏:先把要执行的的操作写入硬件,即写日志.即使数据库操作错误,也可根据日志来纠正.对日志的操作具有等幂性,即日志中的每项操作不管执行一次或多次,都会有相同的效果. 2.事务:以事务作为一个整体,要么全部完成,要么中途失败则根据日志取消之前的操作(即逆向操作,之前加,现在就减),使数据库回到事务之前的状态(回滚事务).即事务具备原子性,不可分割,避免出现事务中有些执行了,有些没执行的情况. 2.预备提交把戏(两段提交协…
chapter 1, Summary: In this chapter, we briefly introduced the Python programming language and the main concepts behind geospatial development. We have seen: ~That Python is a very high-level language eminently suited to the task of geospatial develo…
1. 对栈的操作 栈是一种特殊的列表,栈中的元素只能通过列表的一端进行访问,即栈顶.类似于累起一摞的盘子,只能最后被放在上面的,最先能被访问到. 就是我们所说的后入先出(LIFO). 对栈主要有入栈push,出栈pop,获得栈顶元素peek, 三个方法. 2. 栈的实现 基本类结构如下: function Stack(){ this.dataStore = []; this.top = 0; this.push = push; this.pop = pop; this.peek = peek;…
1. 结构分析 列表首先要有以下几个属性: listSize 长度 pos 当前位置 dataStore 数据 我们要通过以下方法对上面三个属性进行操作: length() 获取长度 | getPos() 获取当前位置  | toString() 打印list内容 add(ele) 顺序添加元素 | insert(newEle, afterEle) 在某元素后插入元素 | remove(ele) 删除某元素 clear() 清空列表 | find(ele) 查询元素位置 | get(index)…
这章主要讲解了数组的工作原理和其适用场景. 定义: 一个存储元素的线性集合,元素可以通过索引来任意存取,索引通常是数字,用来计算元素之间存储位置的偏移量. javascript数组的特殊之处: javascript中数组是一种特殊的对象,用来表示偏移量的索引是该对象的属性,索引可能是整数,但是这些整数会被转化为字符串. 这是因为javascript中对象的属性必须死字符串类型. 1. 数组的基本操作  a) 创建数组 声明空的数组: // 1. 使用new关键字 var arr1 = new A…
1.变量的声明和初始化 必须使用关键字 var,后跟变量名,后面还可以跟一个赋值表达式. var name; var age = 5; var str = 'hello'; var flg = false; 2. javascript 中的算术运算和数学库函数 +(加) - (减) *(乘) / (除) %(取余) 可以使用的数学库:  3. 判断结构 1) if else 2) switch 没有特别之处 4.循环结构 1)while 2) for 5. 函数 1)有返回值的 2)无返回值的…