摘要:
#汇编语言——更多功能 ##转移指令及其原理 可以修改IP,或同时修改cs和IP的指令统称为转移指令。概括地讲,转移指令就是可以控制CPU执行内存中某处代码的指令。 8086CPU的转移行为有以下几类: 只修改IP时,称为段内转移,比如:jmp ax 同时修改cs和IP时,称为段间转移,比如:jmp 阅读全文
摘要:
#汇编语言-一个程序 ##程序从写出到执行 ###源程序 这是一段简单的汇编源程序代码,在汇编语言源程序中,包含两种指令,种是汇编指令,种是伪指令。汇编指令是有对应的机器码的指令,可以被编译为机器指令,最终为CPU所执行。而伪指令没有对应的机器指令,最终不被CPU所执行。那么谁来执行伪指令呢?伪指令 阅读全文
摘要:
#汇编语言-基础知识 ##汇编语言的产生 计算机作为一个只能读懂和执行二进制的东西,在其刚被发明出时,都是用机器语言(01二进制形式表示)来写入程序,随着程序越来越复杂,需要更长的组合,不光一个微小的0->1将会导致错误,以及过于难记忆与分辨。 随后找到了一种解决方法,将这些最基础二进制的指令,用一 阅读全文
摘要:
#散列表 ##什么是散列表 散列表(Hash table,也叫哈希表),是根据键(Key)而直接访问在内存储存位置的数据结构。也就是说,它通过计算一个关于键值的函数,将所需查询的数据映射到表中一个位置来访问记录,这加快了查找速度。这个映射函数称做散列函数,存放记录的数组称做散列表。 举一个简单的例子 阅读全文
摘要:
#排序 ##快速排序 快速排序的思想同规定排序一样,也是一种分而治之的思想。 不同的是,在快速排序中,分的方法如何分。 ###快速排序的逻辑思路 1.首先从集合中选出一个元素,把大于他的元素和小于他的元素分别分成2组,例如{1,3,5,9,6,2,4},选择元素4为分割点,整个集合被分为了{1,3, 阅读全文
摘要:
#排序 ##简单排序(差劲排序) 下面的几种排序都是非常简单容易实现的,不过也有着相应的问题,他们在正常的情况下排序,时间复杂度几乎都是$O(N2)$。 ###冒泡排序 冒泡冒泡,大的沉底,小的浮起。 基本思路是循环n-1次,每次把最大的元素沉底。 从j遍历到i,如果j比他的下一个元素(j+1)大, 阅读全文
摘要:
#图(下) 前面说过了对一个图,寻找最短路径的问题,这次来说最小生成树,如何把一个联通图,选出最小的边的组合而且还需满足将其所有点链接再一起,这就是最小生成树问题。 ##最小生成树 ###什么是最小生成树 最小生成树,首先需要满足树的性质和定义,给顶N个顶点的图,选择N-1条边,将这N个顶点连同,且 阅读全文
摘要:
#图(中) 在上一节的时候曾说过了图的两种遍历方式,在这一节将使用他们做更深层的应用,研究从一个点到另一个点的最短距离。 ##最短路径问题 ###单源无权图的最短路径 基本思想是,按照非递减的顺序,找出各个点的最短路。 很容易想到按照非递减的顺序,也就是优先从原点开始,不断的计算与他相距最近的点的距 阅读全文
摘要:
#图(上) 在前几节实现树结构,从这一节开始,开始进入图结构。 ##什么是图 图是由若干给定的顶点及连接两顶点的边所构成的图形,这种图形通常用来描述某些事物之间的某种特定关系。 顶点用于代表事物,连接两顶点的边则用于表示两个事物间具有这种关系。 ###图的表示(邻接矩阵表示法) 有1~N个节点,很自 阅读全文