logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

图论——最短路径问题(bellman-ford、dijkstra、Floyd)

前言在一张图中,我们需要寻找到两个点之间的最短路径,这个问题在实际中也是很常用的。最短路径问题分为单源最短路径和任意两点之间的最短路径问题。单源最短路径输入一个有向加权图,我们要返回这个顶点到剩余顶点的最小距离。注意权值非负,如果有负圈,那么一些最短路径将会不存在。(一直在那里绕,路径为无穷小)优化子结构没错,这个问题涉及到了dp和贪心的解法,我们接下来进行讲解。最短路径的子路径也一定是最短。这个

汇编——寄存器的分类和功能

在汇编中,个人感觉最重要的部分其实就是寄存器了,这次我们了解一下寄存器的分类和功能。先说一下寄存器是什么吧,其实就是一部分的空间,我们可以使用这些空间来存储内容。寄存器的空间都是16位的(80x86中,后来有增长),也就是1个字的空间。堆栈则有一点不一样,我们的堆栈空间是在程序中定义的,可以存储很多个16位二进制数。注意事项堆栈的栈顶指针最开始是在栈顶的,栈顶为高位,也就是存储是从高到低的。我们压

汇编——子程序应该怎么写、子程序传参、Fibonacci递归举例

在学习子程序的过程中,看了整个的ppt,也没搞明白一个带有子程序的汇编程序长什么样。我们先看一个例子,然后分析。datas segmentwdw 10hdw 6turnsdw 30start_x dw 20start_y dw 20datas endsstack segment stackdw 32 dup(?)stack endscode segmentassume cs:code,ds:dat

树的搜索问题1(深度优先、广度优先,爬山法和best-first)

前言我们在解决问题中经常使用到的数据结构一定少不了树,在数据结构这一大块中,我们对每一个结构都会讲各种形形色色的操作,比如栈的压栈出栈,树的各种遍历,但其实数据结构最重要的操作其实是搜索。如果我们不知道链表的搜索,如何插入删除?不知道图的搜索,如何寻找最小生成树?虽然我们讲的是树的搜索,但是本篇文章探讨的问题并非是树,而是将问题转化为树结构来处理。树的几种常见搜索方式我们先给出几种常用的例子吧。布

#深度优先#广度优先
汇编——dosbox的debug常用指令

举例这里我们采用 hello world 的程序举例。首先复制到记事本,修改文件名为hello.asm。;完整段的Hello World程序DATASSEGMENTSTRINGDB'Hello World!',13,10,'$';13为回车,10为换行,$为字符串默认结束符DATASENDSCODESSEGMENTASSUMECS: CODES, DS: DATASSTART:MOVAX, DAT

汇编——跳转指令与分支结构(包括OF和CF的溢出判断)

汇编中的循环和分支结构虽然我们没有花里胡哨的函数和对象等等,但是我们也可以实现循环和分支结构(其实就是if_else)我们要知道一个问题,就是代码是一行行执行的。(其实这个是说给我这样的被Verilog降维打击的人听的)如果是循环,我们就要想办法在执行完一次循环就跳转到循环开始,同时改变一些条件,方便进行跳出循环。再加上初始值,循环三要素就出来了。如果是if_else,那么我们就需要进行判断,然后

汇编——dosbox的使用以及文件的运行

上汇编实验,用了一下dosbox和masm for windows集成环境,那叫一个刺激。现在来分享一下。(masm的集成环境就算了,感觉还不如自己手动绑定呢)安装dosbox百度网盘分享提取码:xybb里面有dosbox的exe文件,直接点击使用就行了。貌似是因为我调整过了,所以不需要修改窗口大小。(虚拟机上测试的)如果是想下载一个,那么就按照下面的连接:百度网盘分享提取码同上。注意我们,下载的

汇编——十进制数据输入转二进制/十六进制输出(含数字判断,不限位数)

题目描述输入一串十进制数,需要判断是否为数字,并将其转化成二进制和十六进制输出。代码:二进制:;descriptiondata SEGMENTdata ENDS;descriptionstack SEGMENTstack ENDS;descriptioncode SEGMENTASSUME CS:CODE, DS:DATA, SS:STACKstart:movax,datamovds,ax

递归方程的求解(代入、递归树和主方法)

递归方程递归方程之前提到过,就是部分算法在求解的过程中使用了将一个问题划分成几个等价的小问题,在这个过程中,我们就可以列出一个等式。(如归并排序中,将一个大数组拆分成两个小数组分别计算,然后用O(n)的代价合并,T(n) = T(n/2)+O(n)就是一个递归方程)那么,在得到一个递归方程之后,我们应该如何求解问题呢?替换法/代入法我们都知道,归并排序的时间复杂度为O(nlogn),那么我们以后看

    共 15 条
  • 1
  • 2
  • 请选择