自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

MaxwellWong

专注于计算机科学与交叉学科

  • 博客(38)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 【操作系统】Linux 进程间通信(IPC)—共享内存(System V与POSIX API实现,基于生产者消费者问题)

Linux 进程间通信(IPC)—共享内存

2022-03-23 14:33:35 6212

原创 【人工智能大作业】A*和IDA*搜索算法解决十五数码(15-puzzle)问题 (Python实现)(启发式搜索)

【人工智能】启发式搜索算法,A*和IDA*搜索算法解决十五数码(15-puzzle)问题Python实现,理论算法分析与实验证明

2022-03-16 17:43:22 9953 9

原创 【中山大学20级计算机类第十五周作业题】【模拟】[Algorithm]Simple Game ---- Escape From the Hell

Simple Game ---- Escape From the Hell题目描述Let’s play a game. The description may be very long so I don’t want to pretend B.有一位大熊弟因为秀恩爱而遭到FFF团的制裁——被扔进了下界,而你,正以上帝视角暗中观察这一切。(但你只能观察)观察到的地图如下细节遇到地形时的行为:*边界不会阻挡大熊弟(下面简称A)的移动,当遇到边界时,会从其对面边界穿出如上图情况,若A向左走,下一

2020-12-10 17:22:17 2401 8

原创 【计算机体系结构】指令集并行(ILP)动态调度算法:Tomasulo实现代码(Tomasulo Algorithm Implementation)

Tomasulo算法用于指令的动态调度,允许乱序执行,能更有效地使用多个执行单元。Tomasulo's algorithm is for the dynamic scheduling of instructions thatallows out-of-order execution and enables more efficient use of multipleexecution units.

2023-01-03 18:40:21 1345 1

原创 【机器学习】SVM支持向量机在手写体数据集上进行二分类、采⽤ hinge loss 和 cross-entropy loss 的线性分类模型分析和对比、网格搜索

在本次实验中,我总结了SVM的基本理论,并且针对SVM的不同核函数(包括线性核函数和高斯核函数)针对其性能进行⽐较和分析,之后又引入了线性分类模型(分别采用hinge loss 和cross-entropy loss)对不同的Loss的性能进行比较和分析。

2022-10-15 23:27:21 839

原创 【SQL数据库】数据库的创建、查询、插入等操作使用方法(结合黑皮书教材网站(db-book中的例子)在MySQL Workbench和shell中实现查询操作

SQL 数据库的创建、查询、插入等操作使用方法(结合黑皮书教材网站中的例子)

2022-09-07 18:29:06 1822

原创 【操作系统】磁盘调度算法(FCFS、SSTF、SCAN 和 C-LOOK 调度策略)

实验内容:硬盘调度由于内存通常太小而且不能永久保存所有数据和程序,因此计算机系统必须提供外存来备份内存。现代计算机系统采用磁盘(硬盘)作为信息(程序与数据)的主要在线存储介质。换句话说,硬盘或磁盘为现代计算机系统提供大量外存。磁盘是表面涂有磁性物质的物理盘片,通过磁头(导体线圈)从磁盘存取数据,在读/写期间,磁头固定,磁盘在下面高速旋转。磁盘盘面上的数据存储在一组同心圆中,称为磁道。每个磁道和磁头一样宽,一个盘面上有上千个磁道。磁道又分为几百个扇区,每个扇区固定存储大小,因此越往内的扇区密度越高。磁盘地址由

2022-06-15 15:18:31 8436 2

原创 【操作系统】虚拟存储管理-页面置换算法(FIFO、LRU、CLOCK)

实验内容:虚拟存储管理编写一个C程序模拟实现课件 Lecture24 中的请求页面置换算法,包括FIFO、LRU stack implementation 和 Second chance/CLOCK 置换策略。​ 在操作系统中,通常使用虚拟内存来对内存进行管理,使计算机能够弥补物理内存短缺,暂时将数据从随机存取存储器(RAM)传输到磁盘存储。将内存块映射到磁盘文件使计算机能够将辅助内存视为主内存。虚拟内存使用硬件和软件进行操作。当应用程序正在使用时,来自该程序的数据将使用RAM存储在物理地址中。内存管理单元

2022-06-08 15:21:13 4318

原创 【人工智能-神经网络】Numpy 实现单层感知机对情感文本多分类

Numpy 实现单层感知机对情感文本多分类一、 实验题目在给定文本数据集完成文本情感分类训练,在测试集完成测试,计算准确率文本的特征可以使用TF或TF-IDF (可以使用sklearn库提取特征)设计合适的网络结构,选择合适的损失函数利用训练集完成网络训练,并在测试集上计算准确率。二、 实验内容1. 假定网络为单层感知机,且没有激活层,没有偏置,此时,网络输出为y=XW2.设置损失函数为L_MSE,并随机初始化网络参数W3.当满足终止条件时,终止优化,否则继续4.计算网络输出y=XW,以及损

2022-05-26 20:03:43 1013 2

原创 【操作系统-线程池】Pthread 线程池的设计及实现

Lab Week 15 实验报告实验内容:设计实现一个线程池 (Thread Pool)使用 Pthread API 管理线程。利用回调函数作为线程的启动函数。采用 pthread 信号量解决线程池分配的互斥问题。讨论上述方案的技术可行性,尝试写一个设计报告。在一个源代码文件内实现编码、完成编译、运行和用例测试。I.线程池线程池的提出,主要是为了解决:(1)频繁地为某一任务创建和销毁线程所引起的系统资源耗费问题;(2)无限制地为并发请求创建线程且系统对线程数量没有限制而引起的系统资源

2022-05-25 15:38:05 1003

原创 【操作系统-同步】银行家算法,多线程原子操作、POSIX互斥锁、信号量解决生产者消费者问题

Lab Week 14实验报告实验内容:进程同步编译运行课件 Lecture 17 示例代码:alg.17-1-bankers-6;编译运行课件Lecture 18 示例代码:alg.18-1 ~ alg.18-5。指出你认为不合适的地方并加以改进。编译运行课件 Lecture 18 示例代码:alg.18-6 ~ alg.18-8,讨论其中的生产者-消费者问题、共享内存保护、进程同步机制并加以改进I.银行家算法(Banker’s Algorithm)银行家算法是操作系统用于避免死锁的

2022-05-18 14:24:33 1150

原创 【操作系统】在Linux下用C语言实现BBS聊天系统(实现的功能包括私信、禁言、广播、自定义昵称等)

BBS聊天系统

2022-04-27 15:29:02 2697

原创 【操作系统-网络编程】 Socket 通信 Server&Client (全双工Socket,Full Duplex Socket)

实验内容:进程间通信 — 管道和 socket 通信- 编译运行课件 Lecture11 示例代码 alg.11-1, alg.11-2.1, alg.11-2.2,指出你认为不合适的地方并加以改进。

2022-04-13 15:47:24 4397

原创 【操作系统】进程间通信 — 消息队列

编译运行课件 Lecture 09 示例代码:alg.9-1 ~ alg.9-2,指出你认为不合适的地方并加以改进。修改代码 alg.9-1 ~ alg.9-2,让 msgsnd 和 msgrcv 在两个终端并发随机执行,用第三个终端观察消息队列的变化情况。你认为会不会出现访问冲突?仿照 alg.9-1 ~ alg.9-2 的程序结构,编制基于 POSIX API 的进程间消息发送和消息接收例程。

2022-04-06 15:29:23 1368

原创 【操作系统D&I】(设计与实现)进程间通信 — Linux System Call 共享内存

实验内容:建立一个足够大的共享内存空间结构 (lock, M),逻辑值 lock 用来保证同一时间只有一个进程进入 M;测试在你的系统上 M 的容量上限。设计一个程序,在 M 上建立一个结点信息结构为 (flag, 学号, 姓名) 的列表 L,逻辑值 flag 用作结点的删除标识;在 L 上建立一个以学号为关键字的二元小顶堆,自行设计结点的控制结构 (如静态指针数据域)。设计一个程序对上述堆结构的结点实现插入、删除、修改、查找、排序等操作。该程序的进程可以在同一主机的多个终端并发执行。

2022-04-01 19:39:22 1094

原创 some与anyway的谜题

从教授的口头禅:somehow和anyway,能看出他是在哪留学或者受哪国文化影响比较深的吗?

2022-03-28 23:58:35 94

原创 【信号与系统-可视化】基本信号的产生( Python Numpy和Matplotlib实现)

信号与系统—基本信号的产生Python Numpy和Matplotlib实现前言通过Python的Numpy库和Scipy库可以用于产生基本的信号,如阶跃信号,指数信号,脉冲信号等等。 本次实验版本Python=3.6.5, numpy=1.14.5, scipy=1.1.0,matplotlib= 3.1.1Numpy与Matplotlib中相关绘图API Reference就不多说了,相信大多数博客和官网文档中都写得很详细了。导入 需要的 library 库import num

2022-03-12 11:27:19 6878 1

原创 【操作系统】x86汇编数学运算和字符串操作 (Basic Math Functions and Using Strings)

Lab Week 04 实验报告实验内容:熟悉 Linux 下 x86 汇编语言编程环境验证实验:Blum’sBook: Sample programs in Chapter08, 10 (Basic Math Functions and Using Strings)Note: This report is written mainly in English while partly in Chinese.文章目录Lab Week 04 实验报告👽PreviewBasic knowled

2022-03-09 16:04:35 629

原创 【人工智能】一致代价搜索(Uniform Cost Search, UCS) Python实现

一致代价搜索(Uniform Cost Search, UCS) Python实现

2022-03-03 13:26:28 4990 1

原创 【操作系统】x86汇编实验控制流和数的使用(Controlling Flow and Using Numbers)

中山大学计算机科学与技术操作系统汇编实验 week3

2022-03-03 11:06:19 1846

原创 ERROR: While executing gem ... (Gem::FilePermissionError) You don‘t have write permissions for

在MacOS环境下执行gem install jekyll bundlerjekyll new myblog发现如下错误:ERROR: While executing gem … (Gem::FilePermissionError) You don’t have write permissions for the /Library/Ruby/Gems/2.6.0 directory分析报错:我们在使用gem进行安装的时候,发现没有权限可以在路径 /Library/Ruby/Gems

2022-01-27 12:14:07 8057

原创 【中山大学计算机组成原理实验】单周期CPU设计与实现

中山大学20级计算机组成原理实验:使用Verillg语言,设计一个单周期CPU,基于MIPS指令集,实现其子集中的功能

2022-01-23 16:56:27 8404 8

原创 一文详解前端开发React的核心概念(包括配置和安装方法)——入门项目实战

React 是一个用于构建用户界面的 JavaScript 库

2021-08-19 20:47:28 958 1

原创 【前端项目】计时器模版(附代码)

<!DOCTYPE html><html lang="en"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <head><h1 class="heading">Timer</h1>

2021-08-05 10:29:14 716

原创 【2021-02-23】关于写博文的几点反思

不应该整篇文章都是代码或者只配有少数的几行文字,这样在读者需要找对应的资料的时候并不能高效地帮助到他们。应该详细地描述比较艰涩难懂的知识点尽量配上图片或者视频,以便读者了解...

2021-02-23 22:23:58 91

原创 【C++】【视频解析】二叉树的层序遍历(内附完整c++代码解析与力扣对应习题)

1.层序遍历层序遍历是从上到下从左到右每一层地去遍历。这与队列的操作相似,先进先出因此我们可以用队列来实现:首先将根节点入队,再出队与此同时将根节点的左右儿子入队,以此类推,直到队列为空。(与BFS相似)力扣习题:102. 二叉树的层序遍历给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。 示例:二叉树:[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层序

2021-02-18 15:52:31 1000 1

原创 【力扣题解系列】151. 翻转字符串里的单词

151. 翻转字符串里的单词给定一个字符串,逐个翻转字符串中的每个单词。说明:无空格字符构成一个 单词 。输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。示例 1:输入:"the sky is blue"输出:"blue is sky the"示例 2:输入:" hello world! "输出:"world! hello"解释:输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符

2021-01-28 14:56:50 201

原创 【C/C++】排序算法之归并排序

归并排序文章目录归并排序一、归并排序是什么?二、基本实现1.合并(治)2.排序(分)3.完整代码一、归并排序是什么?归并排序(Merge Sort)是建立在归并操作上的一种有效,稳定的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。时间复杂度 O(n log n)空间复杂度 T(n)简而言之,归并排序是将大问题拆分成几个小

2021-01-28 11:59:44 1071

原创 【专题】深度优先搜索(DFS) 从入门到精通—— 结合洛谷习题

深度优先搜索(DFS) 结合洛谷习题文章目录深度优先搜索(DFS) 结合洛谷习题前言一、深度优先搜索是什么?二、洛谷例题1.P1706全排列问题题目描述输入格式输出格式输入输出样例题解:代码解读:2.P1605 迷宫题目背景题目描述输入格式输出格式输入输出样例说明/提示题解前言当处于一个巨大的迷宫中,你只有第一人称视角,应该如何以最快速度走出这个迷宫呢?依据深度优先算法,这种策略一定有效:以当前位置为起点,沿着一条路向前走。当遇到一个岔路口时,就选择一个岔路前进,如果这个岔路是死胡同,就退回上一个

2021-01-26 12:06:09 655

原创 【基础】(C语言)高精度算法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言:为什么我们需要高精度算法?一、高精度算法基础二、高精度乘法1.计算流程2.完整代码三、总结前言:为什么我们需要高精度算法?多数时候我们需要进行非常庞大的数字运算,其中涉及四则运算,加减乘除,但是当连最大的long long类型也容纳不下如此大的数字的时候,我们应该怎么办?那么,我们就要用到今天所介绍的高精度算法,顾名思义,我们可以用一些特殊的方式来得出我们想要计算的答案。一、高精度算法基础在讲高精度算法之前,我们需

2020-12-14 17:56:08 15213 13

原创 【结构体】基础篇-简单结构题的使用(成绩排序)

结构体~Struct前言:我们在代码编写过程中经常遇到一些需要将某些拥有共同性质的元素表示出来,但是如果每个元素都需要编写一次这些重复的性质的时候,代码就会变得冗长,因此我们选择采用一种特殊的数据类型:结构体。题目描述:成绩排序[结构体的使用]建立一个结构体,读入并保存 n 个学生的考试信息,每个学生的信息包括学号,姓名和考试分数。然后对学生的分数进行排序(由高到低),若分数相同则按学号排序(由小到大)。最后按照“学号 姓名 成绩”的格式逐行打印成绩表(可参考Sample Input和Sample

2020-12-14 00:16:28 676

原创 【详细图解】【基础题—栈的应用】括号匹配(C语言)

题目描述现在给出一串字符串,里面的括号要不成双出现,要不就不出现,也就是括号匹配。括号的种类包括’{‘、’}‘、’(‘、’)‘、‘[’、‘]’。请大家判断字符串是否括号匹配,是则输出"Yes",反之输出"No"。字符串长度不大于100。输入abc(abc)输出Yes输入abv(aa输出No题目分析:我们可以用栈的思想来实现这段代码。首先我们观察到,只有先输入左括号后,再在后续输入对应的右括号这样才能匹配。那么我们可以认为把先输入的左括号存放在栈里,由于栈是从下往上堆叠而成的,所以把最先

2020-12-09 23:52:46 994

原创 【LeetCode经典题】第N个泰波那契数列

题目描述:泰波那契序列 Tn 定义如下:T0 = 0, T1 = 1, T2 = 1, 且在 n >= 0 的条件下 Tn+3 = Tn + Tn+1 + Tn+2给你整数 n,请返回第 n 个泰波那契数 Tn 的值。示例 1:输入:n = 4输出:4解释:T_3 = 0 + 1 + 1 = 2T_4 = 1 + 1 + 2 = 4示例 2:输入:n = 25输出:1389537提示:0 <= n <= 37答案保证是一个 32 位整数,即 answer &l

2020-12-08 09:43:41 284

原创 【基础】简单静态链表运用

#include <stdio.h>#include <string.h>struct student{ int num; char name[10]; char sex; struct student *next;};int main(){ struct student a,b,c; struct student *p; struct student *head;定义一个头指针指向第一个元素的地址 a.num=101;strc

2020-12-08 09:33:34 132

原创 【洛谷题解】P5734 【深基6.例6】文字处理软件(C语言)

P5734 【深基6.例6】文字处理软件题目描述你需要开发一款文字处理软件。最开始时输入一个字符串(不超过 100 个字符)作为初始文档。可以认为文档开头是第 0 个字符。需要支持以下操作:1 str:后接插入,在文档后面插入字符串 str,并输出文档的字符串。2 a b:截取文档部分,只保留文档中从第 a 个字符起 b 个字符,并输出文档的字符串。3 a str:插入片段,在文档中第 a 个字符前面插入字符串 str,并输出文档的字符串。4 str:查找子串,查找字符串 str 在文档中最先的

2020-12-05 15:15:27 3851 1

原创 【C语言】数据结构必学:约瑟夫环 【数组+循环】

Description:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报数,直到所有人都自杀身亡为止。(死亡的人会从环中消失,例如3号自杀,那么当报数再次报到2号时,会直接跳过3号,4号继续报数)现在,我们把这个问题变化一下,假设现在有n个人(最多不超过1000人),编号为1到n,他们排成一圈从1号人开始报数, 报数时

2020-12-04 23:38:28 669

原创 [数组](array) Star‘s Problem(字符串处理)

题目描述:Star认为Joe的问题“Sum”太简单,所以他加了两个运算。给出一个N个数的序列和M个运算,有三种类型的运算:操作1:将所有的数字改为相反的数字;操作2:给所有数加一个整数X;操作3:打印[L, R]中的子序列和。这是你的工作,祝你好运。输入第一行是两个整数N和M (0 < N < 20000, 0 < M < 200000),表示序列的长度和操作的次数。第二行有N个整数,表示序列。下面的M行显示了操作:“1 " 操作1“2 X” 操作2

2020-12-04 22:49:57 220 1

原创 【C语言】字符串 按照字典序排序

题目描述:Description给定n个字符串,请对n个字符串按照字典序排列Input输入第一行为一个正整数n(1≤n≤100),下面n行为n个字符串(字符串长度≤30),字符串中只含有大小写字母。Output数据输出n行,输出结果为按照字典序排列的字符串。Sample Input9captocatcardtwotooupboatbootSample Outputboatbootcapcardcattotootwoup题解:#include<s

2020-12-03 15:35:54 23198 2

main.py

main.py

2023-05-12

中山大学计算机组成原理单周期CPU完整代码

【verilog】中山大学计算机组成原理单周期CPU完整代码

2022-11-15

中山大学计算机组成原理多周期CPU实验(代码+实验报告)

【verilog】中山大学计算机组成原理多周期CPU实验(代码+实验报告)

2022-11-13

二叉树层序遍历.mp4

二叉树层序遍历.mp4

2021-02-22

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

TA关注的人

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