自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(196)
  • 收藏
  • 关注

原创 如何从github上下载单个文件夹

用subversion可以实现。首先打开自己将要下载的文件夹的网页,复制网页地址。例如我要下载下面这个https://github.com/graphchallenge/GraphChallenge/tree/master/SparseDeepNeuralNetwork将其中的/tree/master/段改成/trunk.树干?不知道在干啥,但是管用。https://github.com...

2020-04-12 22:09:28 807

原创 第5章 编写主引导扇区代码

第五章 编写主引导扇区代码显存和段寄存器首先理解显存的概念。显卡工作时,会把显存中的信息显示到屏幕上。CPU在显示信息时,首先把信息写入显存,再在屏幕显示。为了加快处理速度,在内存中设置一块显存空间的映射,将信息直接写入内存,再从内存中读取、显示信息。文本模式显存映射的起始物理地址此时是0xB800.DS:段寄存器ES:附加段寄存器此处先用附加段寄存器ES。Intel处理器不允许直接将...

2020-04-11 17:26:55 311

原创 ubuntu nasm 如何汇编

打开终端,到需要汇编的asm文件目录下 ,打开终端,执行下述命令nasm −f <format> <filename> [−o <output>] 这是标准的命令格式,output可以指定输出文件格式nasm nasm-f bin xxx.asm -o xxx.bin 用bin格式,否则就错了...

2020-04-11 17:23:55 438

原创 excel 如何隔行按规律选取数据

昨晚上看了看考研成绩统计,把pdf中的表格复制到excel中,行列不对,需要隔行选数据来重新处理,于是百度到了下面这个方法3、、6、9。。。。隔3行取数公式:=INDEX(A:A,ROW(A1)*3)&""3、8、13。。。。隔5行取数公式:=INDEX(A:A,ROW(A1)*5-2)&""如何去定义隔X行取数的方式呢?关键在于公式后面的 ROW(A1)*5-X (X为...

2020-02-21 08:58:16 35921 3

原创 30天自制操作系统:第8天:鼠标控制与32位模式切换

今天前半部分都是如何控制鼠标移动,将每次传送的三个字节处理成位置信息,最后指导鼠标指针移动。后面的部分,是关于一段一直未讲解的汇编代码的讲解。32位保护模式书中用一连串汇编代码完成了从实模式进入保护模式。代码段寄存器CS和指令指针寄存器IP构成下一条地址.16位实模式时,下一条地址=CS*16+IP。CS:IP相当于计算机组成原理中的PC。有一段汇编代码没看明白,​ JMP DWORD...

2020-01-27 19:41:40 371

原创 30天自制操作系统:第7天:FIFO与鼠标控制

第7天:FIFO与鼠标控制今天前半部分讲的都是键盘输出与缓冲区的问题,后半部分才是鼠标移动问题。缓冲区FIFO实现在按键盘上一个键时,键盘会以中断形式发送给CPU数据。在现阶段的设计中,一次只发送一字节,但是在按一些键时,会发送两位字节,此时另一字节如果不暂存,就丢失了;在有些情况,会碰到键盘中断发送的数据不能马上被CPU使用,此时就要用到缓冲区。缓冲区用来缓存暂未处理的数据,比如缓存上...

2020-01-20 19:24:30 408

原创 30天自制操作系统:第6天:分割编译与终端处理

第6天:分割编译与终端处理Makefile首先说一下Makefile$(arg) 大概相当于${arg},即预设的这个变量arg的值,像下面TOOLPATH = ../z_tools/MAKE = $(TOOLPATH)make.exe -rdefault : $(MAKE) img相当于一连串的变量值的代换。Makefile文件允许定义规则,来处理有相同特...

2020-01-18 20:32:49 287

原创 30天自制操作系统:第5天:结构体、文字显示与GDT/IDT初始化

第5天:结构体、文字显示与GDT/IDT初始化今天的任务大多是C语言结构体、指针、箭头符号的讲解。文字显示用了输出字符串的方法,每输出16个字节表示一个字符(每个字节用01表示显示与否,并排表示,构成一个字符,像马赛克拼图一样)。接着又是分段、中断的内容,在操作系统和计算机组成原理中都讲过了,就不赘述了。其中有两个概念:GDT: global(segment) descriptor ...

2020-01-16 21:38:43 387

原创 Linux操作系统实验1 bash脚本编程

====shell是Linux系统的命令语言解释器,这个解释器有许多版本,bash是绝大多数linux系统的默认shell解释器。bash脚本,就是命令脚本,执行bash脚本,可以自动地执行脚本中的一系列命令,就不需要直接在终端编辑了。一般语法对所有可执行bash文件在系统bin文件夹下,则第一行固定用​ #!/bin/bash一般地,习惯用第二行用注释写出文件名,​ #!/bi...

2020-01-16 19:26:05 719

原创 30天自制操作系统:第4天:C语言与画面显示的练习

第4天:C语言与画面显示的练习英特尔电脑CPU家谱8086->80186->286->386->486->Pentium->PentiumPro->Pentium Ⅱ->…286及以前CPU是16位的,386及以后CPU是32位的。一段汇编程序_write_mem8: ; void write_mem8(int addr, int dat...

2020-01-15 20:50:51 270

原创 30天自制操作系统:第3天:进入32位模式并导入C语言

第3天:进入32位模式并导入C语言一些BIOS命令AH=0x00 调用显卡模式,此后可以通过设置AL来进行显卡设置AH=0x02 读盘AH=0x03 写盘AH=0x04 校验AH=0x0c 寻道AL=处理对象的扇区数CH=柱面号DH=磁头号DL=驱动器号磁盘讲解C0-H0-S1 柱面0,磁头0,扇区1。磁头在一个磁盘的正反面,共两个,相当于正反盘面;柱面、磁头都从...

2020-01-14 18:47:21 352

原创 30天自制操作系统:第2天:继续开发

第2天:继续开发汇编语言讲解ORG:ORG 0x7c00 指明程序在内存中的装载地址,把下面的程序装载到内存的这个地址。有了这个符号,$符号的意义也就变了,代表将要读入的内存地址。JMP:相当于C语言的goto语句,跳转。JMP entry 意为跳转到标号entry代表的地址继续执行。MOV: move,其实相当于赋值语句。MOV AX,0 相当于AX=0;MOV SS,AX...

2020-01-13 15:36:43 343

原创 30天自制操作系统:第1天:从计算机结构到汇编程序入门

第1天:从计算机结构到汇编程序入门先是用一个二进制文件编辑器手写了一个二进制文件,再解释了一通CPU内部的数据表示和二进制,再写了一点汇编程序。汇编语言讲解DB指令意为“define byte”,也就是往文件里直接写入1个字节的指令。DB指令也可以用来写字符串,如DB “hello, world”RESB指令意为“reserve byte”,如果想从现在地址开始空出10个字节来,...

2020-01-13 15:35:56 268

原创 1119 Pre- and Post-order Traversals (30 分)

1119 Pre- and Post-order Traversals (30分)Suppose that all the keys in a binary tree are distinct positive integers. A unique binary tree can be determined by a given pair of postorder and inorder tra...

2019-11-01 07:43:56 197

原创 1140 Look-and-say Sequence (20 分)

1140 Look-and-say Sequence (20 分) 依次输出串中连续元素的个数这道题其实靠的就是个模拟,依次输出并转化串中连续元素的个数,但是我居然这都不会写了?!这也太菜了吧!网上找到的是对字符串处理的,我自己写了一个对数组进行这种处理的。也就是说可以出一个这样的题目:给出一个整型数组a的容量和元素序列,请输出另一个整型数组b,b为a中的连续元素和每个连续元素的个数。...

2019-11-01 07:43:19 357

原创 Linux cuda nvcc编译显示 “对‘omp_set_num_threads’未定义的引用” 解决方法

nvcc quicksort_ex.cu -o quicksort_ex -Xcompiler “-fopenmp”

2019-11-01 07:41:15 4479 1

原创 1128 N Queens Puzzle (20 分)

1128 N Queens Puzzle (20 分)水题,直接按照当初N皇后的判定条件(就是代码中有注释的那几行)判定判定就行了。#include <bits/stdc++.h>#define N 1005using namespace std;int a[N];int main() { int n,k; cin>>n; for (i...

2019-09-03 19:54:31 260

原创 PAT-A-Level 1129 推荐系统 (25 分)

1129 Recommendation System (25 分)Recommendation system predicts the preference that a user would give to an item. Now you are asked to program a very simple recommendation system that rates the user...

2019-09-03 19:25:36 287

原创 1111 Online Map (30 分)

1111 Online Map (30 分)Input our current position and a destination, an online map can recommend several paths. Now your job is to recommend two paths to your user: one is the shortest, and the other ...

2019-08-31 21:31:12 368

原创 1134 Vertex Cover (25 分) 图的特殊存储

1134 Vertex Cover (25 分) 图的特殊存储其实是一道痕简单的题,但是我实在是太菜了。先是英语读错题意了,写了俩错误的程序。然后是明白过来之后用set实现了一遍,发现最后两个用例超时了,所以想了个公式,交上去又超时了,才发现这个公式需要o(n2)复杂度,又扑gai。看了答案才发现就是一个简单的记录数组,或者叫得“学术”一点,叫哈希表,记录每条边出现与否,最后o(n)遍历一...

2019-08-26 20:12:30 428 2

原创 1138 Postorder Traversal (25 分)

1138 Postorder Traversal (25分)一道挺水的题,直接建树做是最简单的一种方法。代码比较好理解,我就不注释了。大意就是先按前序中序遍历结果建树,再进行后序遍历,后序输出第一个元素就结束程序运行。#include <bits/stdc++.h>#define N 50005using namespace std;int pre[N],in[N],cnt,...

2019-08-22 20:36:59 283

原创 打印u、v之间的所有简单路径

打印u、v之间的所有简单路径(邻接表实现)或许可以直接叫“打印u、v之间的所有路径”。这个算法用处很多,可以用来找满足条件的最优路径。为了效率的考虑,用了邻接表实现。#include <bits/stdc++.h>#define N 1005using namespace std;int used[N]; //标记该节点是否已被使用int path[N],d;vect...

2019-08-21 19:50:16 1040

原创 10节点的二叉搜索树样例

下面是一个10节点的二叉搜索树样例,图是用visio画的第一行是节点数,第二行是先序,第三行是中序,最后一行是后序927 18 14 9 25 38 34 42 519 14 18 25 27 34 38 42 519 14 25 18 34 51 42 38 27...

2019-08-15 21:07:10 888

原创 1127 ZigZagging on a Tree (30 分)

1127 ZigZagging on a Tree (30 分)Suppose that all the keys in a binary tree are distinct positive integers. A unique binary tree can be determined by a given pair of postorder and inorder traversal s...

2019-08-14 20:21:52 784

原创 1119 Pre- and Post-order Traversals (30 分)

1119 Pre- and Post-order Traversals (30分)Suppose that all the keys in a binary tree are distinct positive integers. A unique binary tree can be determined by a given pair of postorder and inorder tra...

2019-08-14 19:16:01 295

原创 1110 Complete Binary Tree (25 分)

1110 Complete Binary Tree (25 分)Given a tree, you are supposed to tell if it is a complete binary tree.Input Specification:Each input file contains one test case. For each case, the first line give...

2019-08-13 20:45:10 252

原创 2020王道数据结构 P126 5 非递归算法求二叉树高

进行层序遍历,设置一last指针,保存当前层的最后元素,一旦队首元素等于这个元素,层数+1,last=队尾元素。层数+1:因为到了每一层的最后一个元素,该层将结束,自然需要+1last=队尾元素:层序遍历时,此时的队尾元素正好是下一层的最后一个元素,正好符合last的定义。代码如下#include <bits/stdc++.h>#define N 1005#define...

2019-08-09 21:47:42 465

原创 16节点 二叉树测试样例

如题。如图。这阵子写了不少树,但是苦于测试样例不足,不知道正确与否,所以写了个长一些的测试样例。另一个样例在这里二叉树前序中序、后序中序建树,但是只有七个节点。下附节点数和前中后序遍历序列,可以用这个来测试我们的树算法。161 2 4 7 10 11 15 16 3 5 8 12 6 9 13 142 10 7 15 16 11 4 1 8 12 5 3 6 13 9 1410 16 ...

2019-08-09 19:51:43 741

原创 二叉树先序、中序、后序遍历的非递归算法 非递归先序、中序、后序遍历二叉树

//非递归实现中序遍历stack<BiTree*> bs;void preOrderTraversal(BiTree* t) { BiTree *p=t; while (p||!bs.empty()) { if (p) { bs.push(p); p=p->lc; } else { p=bs.top(); bs.pop(); pr...

2019-08-07 22:01:15 774

原创 二叉树的前序中序、后序中序建树(最简单的算法) 二叉链表结构

去年我做的时候总结过,因为没有发博客,所以又忘了,到网上找,这一个短短的算法都写的特别长,要么建了很多乌七八糟的分支,没必要。我重新翻了翻纸质版笔记,找到了原先的简单算法,在这里发个博客记一下。其实这两种思路很像,都是设置一个返回值为树节点指针的三参数函数,三个参数分别为树长、前序/后序遍历数组、中序遍历数组。首先我设计了下面这个样例,贴上数据和树图71 2 4 3 5 7 64 2 1...

2019-08-07 21:41:37 1184

原创 1141 PAT Ranking of Institutions (25 分) 复杂结构体排序 一堆花里胡哨STL的拼凑

After each PAT, the PAT Center will announce the ranking of institutions based on their students’ performances. Now you are asked to generate the ranklist.Input Specification:Each input file contain...

2019-08-05 21:29:46 182

原创 由二叉树的中序和后序遍历得到先序序列

已知后序与中序输出先序

2019-08-04 20:06:02 943

原创 1142 Maximal Clique (25 分) 最大团

A clique is a subset of vertices of an undirected graph such that every two distinct vertices in the clique are adjacent. A maximal clique is a clique that cannot be extended by including one more adj...

2019-08-02 21:49:48 245

原创 1143 Lowest Common Ancestor (30 分) 二叉搜索树(BST)两节点的最近共同祖先

The lowest common ancestor (LCA) of two nodes U and V in a tree is the deepest node that has both U and V as descendants.A binary search tree (BST) is recursively defined as a binary tree which has ...

2019-07-31 21:12:47 226

原创 1147 Heaps (30 分) 堆的判断 静态树

In computer science, a heap is a specialized tree-based data structure that satisfies the heap property: if P is a parent node of C, then the key (the value) of P is either greater than or equal to (i...

2019-07-30 21:59:40 306

原创 1146 Topological Order (25 分) 拓扑排序 判定

也不写题干了,主要说说拓扑排序。对一个有向图G,我们把满足下列要求的顶点序列叫做G的拓扑排序,一般来说,一个图的拓扑排序不唯一。(1)拓扑排序中的,对每一个节点,它的后继节点都在该节点之后出现。(2)如果两节点没有直接间接的前驱后继关系,则两节点在序列中先后顺序不限(3)每个拓扑排序包含G的所有节点有向无环图(简称DAG):没有回路的有向图叫做有向无环图。比如下图(就是pat 甲级...

2019-07-30 18:25:16 336

原创 1145 Hashing - Average Search Time (25 分) 哈希表 平均查找长度

题干太长了,这次不写题干了,主要说说散列表,又叫哈希表(hash table)散列表是一种存储数据的方法,通过散列表,可以实现直接用关键字(key)访问数据所在位置。具体实现方法为使用散列函数(哈希函数)H(key),对每个关键字,都可以计算出一个地址。显然,不同的关键字可能有同一个地址,造成地址冲突,有解决这些地址冲突的方法。H(key)=address哈希函数有很多种构造方法,常用的有...

2019-07-29 21:27:04 357

原创 1151 LCA in a Binary Tree (30 分)

先放个空博客在这里,暂时按我对树的理解,我觉得这个题我做不出来。

2019-07-29 19:32:08 184

原创 C++ 输出二进制数

这几天学组成原理,碰到需要输出二进制数的情况,验证a÷(2^n)≠a>>n,我想用高级语言内在的模块实现,程序如下。bitset后面的<>中的数字,指定输出的位数#include<iostream>#include<bitset>using namespace std;int main(){ int a; cin>>a;...

2019-07-29 15:41:31 19786 4

原创 1150 Travelling Salesman Problem (25 分) 图的路径判定(较易)

The "travelling salesman problem" asks the following question: "Given a list of cities and the distances between each pair of cities, what is the shortest possible route that visits each city and retu...

2019-07-27 20:45:16 168

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除