- 博客(94)
- 资源 (2)
- 收藏
- 关注
原创 OpenvSwitch实现简单VLAN
需求:现有拓扑结构如下的网络结构(s1-s4为交换机,h1-h9为主机),现欲让单数主机(h1、h3、h5、h7、h9)之间互相能ping通,双数主机之间互相能够ping通,但单数和双数主机之间不能访问。# 拓扑结构:-------------------------------------------------------------------------------s1------------------------------------------------/---|---\----
2021-11-03 23:54:56 1091
原创 数据结构实验--大数运算之计算n的阶乘 (n≥20)
数据结构实习报告一、课程设计题目与要求【问题描述】大数运算——计算n的阶乘 (n≥20)。【基本要求】(1)数据的表示和存储:①累积运算的中间结果和最终的计算结果的数据类型要求是整型——这是问题本身的要求。②试设计合适的存储结构,要求每个元素或结点最多存储数据的3位数值。(2)数据的操作及其实现:基于设计的存储结构实现乘法操作,要求从键盘上输入n值;在屏幕上显示最终计算结果。【测试数据】(1)n=20,n!=2432902008176640000(2)n=30,n!=2652528598
2021-10-31 09:00:00 1747
原创 数据结构实验--带环、相交链表问题
一、问题描述:基于课程上机关于单链表的作业,要求进一步实现以下需求:1.构造链表后,将元素值为 m 和 n(从键盘输入,如有多个相同元素值,仅考虑首个出现的元素)的节点建立连接,注意判断节点出现的先后关系,将后面出现的节点(假设为 n)的链域连到先出现的节点(假设为 m),将原 n 节点的后续节点搬迁到原单链表的头部,形成以下双头相交链表(如果使用带头结点的链表,搬迁过程中请自行额外增加一个头节点);2.利用课程 ppt 中关于判断链表是否有环的方法,判断链表是否有环路,并求出环路出现的位置,即
2021-10-31 09:00:00 4560 5
原创 数据结构课设--交通咨询系统设计
一、问题描述:交通咨询系统设计设计目的:熟练掌握迪杰斯特拉算法和费洛伊德算法,能够利用它们解决最短路径问题。掌握图的深度,广度遍历算法。掌握快速排序算法。内容:设计一个交通咨询系统,通过读取全国城市距离图(http://pan.baidu.com/s/1jIauHSE,请在程序运行时动态加载到内存,可将 excel 转成 csv 方便读取),实现:1、请验证全国其他省会城市(不包括港澳和两个宝岛台北和海口)到武汉中间不超过 2 个省(省会城市)是否成立?(正是因为武汉处于全国的中心位置,此
2021-10-31 09:00:00 8844 6
原创 数据结构实验--唯一的确定一棵二叉树
一、问题描述如果给出了遍历二叉树的前序序列和中序序列,则可以构造出唯一的一棵二叉树。试编写实现上述功能的程序。【基本要求】已知一棵二叉树的前序和中序序列,试设计完成下列任务的一个算法:(1)构造一棵二叉树;(2)证明构造正确(即分别以前序和中序遍历该树,将得到的结果与给出的序列进行比较)。(3)对该二叉树进行后序遍历,输出后序遍历序列。(4)用凹入法输出该二叉树。【测试数据】(1)前序序列为ABDEGCFHIJ,中序序列为DBGEAHFIJC。(2)前序序列为-+abc/de,中序序列为
2021-10-31 09:00:00 864
原创 数据结构实验--搜索效率比较
一、课程设计题目与要求【问题描述】生成N个整数序列,序列分为两组:顺序序列和随机序列,在其中搜索最大的n个数。对顺序序列采用顺序搜索、折半搜索、二叉排序树、平衡二叉排序树进行搜索;对随机序列采用顺序搜索、二叉排序树、平衡二叉排序树进行搜索。其中N=500,1000,2000,5000,10000,20000,30000,50000。n=N/100要求:(1)分析最坏情况下不同搜索算法的复杂度;(2)统计分析并比较不同搜索算法在N取值不同时的性能,完成以下三个方面:对每个测试数据集,统计计算
2021-10-31 09:00:00 1195
原创 数据结构实验--排序算法应用及对比
一、课程设计题目与要求排序算法应用及对比【基本要求】1、生成三组1000万个数,分别为随机数、基本正序(所有元素在正序的基础上整体左移2位)、逆序(用什么数据结构?如果数据量达到1亿,10亿怎么办?);2、实现快速排序(改进版),归并排序和堆排序的递归和非递归版本;3、要求从三组1000万数据中查找前d个最大的数(d是输入参数) ,请用快排,堆排序,归并排序以及插入/冒泡排序算法对所有数据排序后再查找最大的d个数,比较不同排序算法以及递归和非递归算法的区别(运行时间);4、不需要对1000万数据
2021-10-31 09:00:00 628
原创 数据结构实验--表达式的后缀表示
一、问题描述表达式中包含运算对象、运算符和圆括号等,习惯上使用中缀表示(指运算符夹在两运算符对象中间)形式。计算表达式的值,涉及到运算符的优先级别,如先乘除后加减。括在一对圆括号中的子表达式必须先计算,因此,圆括号可视为特殊的运算符,具有最高优先级别。圆括号可以任意嵌套,这意味着左圆括号后面又是表达式,形成表达式的递归定义。为了直接指明表达式中各运算对象的先后计算顺序,可将表达式的中缀形式转换成后缀(指运算符放在二运算对象的后面)形式。例如,表达式ab-(c+d)/e,这是通常的中缀形式,其后缀表示是a
2021-10-30 23:01:40 2091 3
原创 洛谷P048疫情控制
一、问题描述:设计目的:深入理解树。内容:H 国有 n 个城市,这 n 个城市用 n-1 条双向道路相互连通构成一棵树,1 号城市是首都,也是树中的根节点。H 国的首都爆发了一种危害性极高的传染病。当局为了控制疫情,不让疫情扩散到边境城市(叶子节点所表示的城市),决定动用军队在一些城市建立检查点,使得从首都到边境城市的每一条路径上都至少有一个检查点,边境城市也可以建立检查点。但特别要注意的是,首都是不能建立检查点的。现在,在 H 国的一些城市中已经驻扎有军队,且一个城市可以驻扎多个军队。一支军队
2021-10-30 22:54:49 807
原创 数据结构实验--图的三种算法的同步演示
一、课程设计题目与要求【基本要求】1)基于图一构造图(权值可以自行设计添加);2)分别使用深度优先遍历(DFS)、Prim、Dijkstra算法从任意用户输入的顶点开始对图进行遍历、求MST(最小生成树)及最短路径;3)三个算法同时动态显示构造过程;4)每一步都要求显示/打印所有试探的路径(见图二);【扩展要求】1)务必掌握单步调试;2)鼓励使用MFC或QT进行可视化;3)使用命令行程序时可考虑使用清屏(命令cls)后重新绘图进行动画演示; 二、需求分析图是一种常见的结构,应用非
2021-10-30 22:36:39 2033 10
原创 SDN控制器Ryu、Floodlight、OpenDayLight的安装以及Mininet连接
安装Ryu先安装依赖sudo apt-get install python-eventletsudo apt-get install python-routessudo apt-get install python-webobsudo apt-get install python-paramiko下载源码git clone git://github.com/osrg/ryu.git执行安装sudo pip3 install -r tools/pip-require
2021-10-28 21:24:39 4285 1
原创 Python数据分析与展示(Numpy、MatPlotlib、Pandas)(更新中)
NumPyNumPy是一个开源的Python科学计算基础库,包含:一个强大的N维数组对象 ndarray整合C/C++/Fortran代码的工具线性代数、傅里叶变换、随机数生成等功能NumPy是SciPy、Pandas等数据处理或科学计算库的基础NumPy的引用:import numpy as nPython已有列表类型,为什么需要一个数组对象(类型) ?数组对象可以去掉元素间运算所需的循环,使一维向量更像单个数据设置专门的数组对象,经过优化,可以提升这类应用的运算速度观察:科学
2021-10-27 19:11:20 212
原创 TCPSocket编程分析
实验通过两台WMware中的虚拟机中运行的Server和Client互相通信,然后用wireshark抓取报文,从而对TCP报文进行分析代码代码部分十分简短,两端通过Socket建立连接后,服务器等待客户端发来信息,收到客户端发来的信息后将其转换为对应的小写字母表示,然后回复给客户端。客户端收到来自服务器的回复后就主动断开连接。# TCPServer.pyfrom socket import *serverPort = 13000serverSocket = socket(AF_INET, S
2021-10-25 15:31:33 160
原创 Ubuntu/Centos多方法安装mininet
Ubuntu安装方法一:apt 安装sudo apt-get install mininet方法二:源码安装下载源码git clone git://github.com/mininet/mininet查看并选择版本cd mininet/git taggit checkout <release tag> #这里的release tag就是你想选取的版本开始安装mininet/util/install.sh [options]-a: 全部安装-
2021-10-23 11:50:01 3353
原创 linux系统 /etc/profile分析
环境 centos7Linux中含有两个重要的文件 /etc/profile和$HOME/.bash_profile 每当系统登陆时都要读取这两个文件,用来初始化系统所用到的变量,其中/etc/profile是超级或所有的用户所用,$HOME/.bash_profile是每个用户自己独立的# /etc/profile# System wide environment and startup programs, for login setup# Functions and aliases go .
2021-10-18 13:44:09 2335
原创 Python语言入门
本笔记根据嵩天老师的慕课:Python语言程序设计 制作推荐零基础的同学入门学习原笔记写在有道云笔记上:链接注释:单行注释:以#开头,其后内容为注释多行注释:以’’'开头和结尾保留字:and elif import raise global as else in return nonlocal assert except is try True break finally lambda while False class for not with None continue from.
2021-10-18 13:37:19 890
原创 在树莓派上配置Ubuntu服务器
烧录首先进入Ubuntu官网的树莓派专区:https://ubuntu.com/download/raspberry-pi下载想要的版本(这里我选择的是Ubuntu Server20.04.3 LTS)官方的配置教程:https://ubuntu.com/tutorials/how-to-install-ubuntu-on-your-raspberry-pi#1-overview然后安装烧录软件:这里推荐使用balenaEtcher根据软件的提示进行三步操作即可1:选择镜像2:选择插入内存
2021-10-17 14:24:00 629
原创 Linux笔记--Shell编程入门
shell变量变量名可以由字母、数字、下划线来组成,但数字不能作为第一个字符,注意变量名区分大小写。变量名通过“变量名=值”的形式来定义一个变量的值,等号“=”左右两边不能有空格。...
2021-10-11 21:33:15 3693 1
原创 Linux笔记--网络文件共享(TFTP,Samba,NFS)
TFTP概述FTP(File Transfer Protocol,文件传输协议)用于在Internet上控制文件的双向传输。FTP也是一个应用程序,基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。TFTP(Trivial File Transfer Protocol,简单文件传输协议)是FTP的简化版本,当用户确切地了解想要获取的文件名及其准确位置时,可以选择使用TFTP。TFTP易用快捷,它并不能提供像FTP那样的强大功能。FTP与TFTP的区别:FT
2021-10-10 11:19:57 1021
原创 ns3链路拥塞实验
实验目的:收集和分析不同背景流下的路径丢包率与时延性能拓扑结构:// 仿真网络拓扑// n0 n5// \ 10 Mb/s,2ms /// \ /// n1 ---- n3 ----10Mb/s,10ms---- n4 ---- n6// / \// /
2021-09-16 16:37:22 2175
原创 Linux组成员共享目录
背景在实际工作中常常会遇到这样的问题:一台服务器上的多个用户需要合作完成一个项目,他们都有自己的home目录和初始私有组,而他们需要同时再同一个目录下做开发。这时就会用到组成员共享目录,下面介绍如何让组成员再同一目录协同工作准备假设需要合作的三个用户分别为U1、U2和U3,其中U1 为项目的管理员。首先新建这三个用户(包括设置初始密码):useradd U1passwd U1同样的方法依次新建这三个用户。新建介绍之后可以通过查看home目录下的文件夹来判断是否成功以及当前系统内的用
2021-09-14 17:55:33 1044
原创 Wireshark分析完整的Web请求过程(虚拟机NAT上网)
环境:Win11预览版+Vmware中的Ubuntu+Wireshark完整的浏览网页的网络过程首先是主机通过DHCP获取本机的IP然后主机访问某个网站通过DNS查询网站的IPHTTPTCP
2021-09-12 11:04:03 3835 1
原创 NS-3例程注解与拓展
准备运行准备要运行自己的脚本,你所需要做的仅仅是把你的脚本放到scratch目录下,通过waf,这样你的脚本就会被编译。cp examples/tutorial/first.cc scratch/myfirst.cc使用waf命令来编译自己的第一个实例脚本:sudo ./waf运行这个例子.sudo /waf --run scratch/myfirst本文均在代码中加入输出XMl文件相应的语句,从而利用NetAnim生成可视化的动画。在这里插入代码片概览NS-3给出的例程在 X
2021-09-09 17:11:03 623
原创 NS-3的安装及配置
本教程基于VM_Ware 虚拟机上安装的Ubuntu20.04一:安装 NS-3 本体准备:安装开始之前建议大家更换一下软件源并更新一下库,这样接下来的安装会块很多由于安装过程中需要用到一些工具,所以提前准备好,已经安装的直接下一步。sudo apt-get install build-essentialsudo apt-get install python下载安装包既可以在官网下载也可以用wget获取,这里采用命令行的方式下载过后编译既可以用build.py脚本,也可以用Waf的方.
2021-09-08 15:23:55 2196
原创 数据库复习笔记--基础部分
1.绪论1.1 数据库系统概述几个概念数据(Data):数据是数据库中存储的基本对象。数据库(DB):数据库是长期存储在计算机内、有组织、可共享的大量数据的集合。数据库管理系统(DBMS):是位于用户和操作系统之间的数据管理软件,主要功能数据定义、数据组织存储管理、数据操纵、事务和运行管理、数据库建立和维护等。数据库系统(DBS):由数据库、数据库管理系统、应用程序和数据库管理员组成的存储、管理、处理和维护数据的系统。注意DBS包括DB和DBMS发展的几个阶段:人工管理->
2021-07-03 10:40:53 836
原创 基于OpenCv的人脸识别(Python完整代码)
目前人脸识别有很多较为成熟的方法,这里调用OpenCv库,而OpenCV又提供了三种人脸识别方法,分别是LBPH方法、EigenFishfaces方法、Fisherfaces方法。本文采用的是LBPH(Local Binary Patterns Histogram,局部二值模式直方图)方法。opencv是一个开源的的跨平台计算机视觉库,内部实现了图像处理和计算机视觉方面的很多通用算法,对于python而言,在引用opencv库的时候需要写为import cv2。其中,cv2是opencv的C++命名空间名称
2021-06-21 16:52:45 160397 294
原创 SQL语句练习
创建表1.建立数据库UNIVERSITY,其中包括六个数据表2.采用SQL语言删除1中建立的数据库和数据表 drop database university;3.采用SQL语言建立数据库UNIVERSITYCREATE DATABASE UNIVERSITY;4.采用SQL语言创建UNIVERSITY数据库中的六个数据表CREATE TABLE Department ( Dno INT, Dname VARCHAR ( 50 ), Daddress VARCHAR ( 50 ), PRIM
2021-06-09 15:26:04 3326 4
原创 数据库笔记--SQL部分
文章目录@[toc]3.SQL语言3.3数据定义DDL模式定义与删除:定义:删除:基本表的定义、删除、修改数据类型:定义:修改:删除:索引建立:修改删除3.4数据查询DQLSELECT语句一般格式单表查询选择若干列选择若干行ORDER BY 子句聚集函数GROUP BY子句连接查询等值与非等值连接自身连接外连接嵌套查询带有IN谓词的子查询带有比较运算的子查询带有(ANY)SOME或ALL的子查询带有EXISTS的子查询集合查询基于派生表的查询3.5数据更新DCL3.SQL语言3.3数据定义DDL模式定
2021-06-07 15:17:43 564
原创 操作系统复习笔记
文章是在有道云上面写的,搬过还没来得及改格式,原文原文链接_by Cheney一:绪论二:操作系统的结构和硬件支持►处理机状态:►中断:三:操作系统的用户接口►作业:►系统调用:四:进程及进程管理:★★★►并发处理:►进程:► 线程►进程互斥和同步互斥:同步锁和上锁、开锁操作►典型问题:★★►进程通信五:资源分配与调度►资源管理概述►死锁:六:处理机调度►作业调度►进程调度七:主存管理:★★★►分区存储管理►页式管理概述►段式及段页式存储管理(了解)
2021-05-20 18:14:09 1582
原创 多线程 TCP server && client
创建一个TCP Server的连接需要以下几步:一、服务器端socket:创建服务器监听套接字bind:绑定服务器监听信息到套接字上listen: 开始监听,接收客户端的TCP连接accept:从listen所维护的队列中取出一条已连接的TCP,返回该连接的socket描述字服务器客户端在连接socket描述字上进行消息通信close:关闭打开着的套接字#include <stdio.h>#include <stdlib.h>#include <str
2021-05-14 15:43:47 336
原创 编译原理复习总结(精华版)
笔记分两部分:——第一部分是一些小知识点——第二部分对应了几个大题的解题模板第一部分这部分没什么顺序,比较零碎,只记录了我感觉比较重要的部分知识点二义文法:对一部文法,如果至少存在一个句子,有两棵不同语法树,称该句子是二义性的,包含二义性的句子的文法称为二义文法。上下文无关文法是否具有二义性是不可判定的。但有些特殊的2型文法[例如LL(1)、LR(0)、LR(1)等文法]是先天无二义性的NFA和DFA的主要区别在于:1)DFA没有输入空串之上的转换动作。2)对于DFA,一个特定的符号输.
2021-05-09 21:41:05 6944
原创 模拟网盘(基于多线程TCP)
题目描述:模拟一个网盘实现以下功能:用户可以注册、登录、上传和下载文件用户可以实现类似ls的功能查询文件信息多用户间文件可以共享要求:基于TCP协议server端要用多线程实现在linux下用C语言实现需要实现的功能:服务器端:多线程的实现(注意多用户间的同步)对于一个刚连接的用户,发送要求输入验证信息录入用户的注册信息到文件验证登录信息处理用户上传的文件处理用户查询自己现有文件的请求(ls)对用户的下载请求做出响应用户可以设置文件权限对他人共享客户端:上传下载操
2021-05-07 10:47:00 1560 5
原创 网络聊天室(基于多进程TCP)
题目描述:模拟一个在线聊天室连接时需要告诉服务器用户名,支持多用户同时登录两种聊天功能:一:(群聊)服务器转发:用户->服务器->其他所有用户二:(私聊)点对点,不通过服务器要求:1.基于TCP协议2.server端要用多进程实现3.在linux下用C语言实现需要实现的功能:服务器端:多用户连接(多进程)记录当前在聊天室的成员信息收到某个用户发来的消息后转发给其余所有的用户展示当前所有在聊天室内的用户的信息处理来自用户的退出请求客户端:多用户(个人用户或者服务
2021-05-07 10:44:10 2608 1
原创 多进程TCP Server & Client
创建一个TCP Server的连接需要以下几步:(1)服务器socket:创建服务器监听套接字bind:绑定服务器监听信息到套接字上listen 开始监听,接收客户端的TCP连接accept 从listen所维护的队列中取出一条已连接的TCP,返回该连接的socket描述字服务器客户端在连接socket描述字上进行消息通信close 关闭打开着的套接字 为了更好的服务多个发起请求的客户端,在e步骤上,我们使用fork以派生子进程来独立处理每个客户端的请求。 if( (chil
2021-05-06 23:24:28 245
原创 请求分页系统中的置换算法(FIFO、LRU、Optimal)
背景题目描述:请求分页系统中的置换算法1.通过如下方法产生一指令序列,共 320 条指令。A. 在[1,32k-2]的指令地址之间随机选取一起点M,访问 M;B. 顺序访问M+1;C. 在[0,M-1]中随机选取M1,访问 M1;D. 顺序访问M1+1;E. 在[M1+2,32k-2]中随机选取M2,访问 M2;F. 顺序访问M2+1;G. 重复 A—F,直到执行 320 次指令。H.指令序列变换成页地址流设:(1)页面大小为 1K;(2)用户虚存容量为 32K。2. 计算并输出下
2021-05-06 07:35:07 9244 1
原创 磁盘调度算法(先来先服务、最短寻道优先以及电梯调度算法)
背景:磁盘调度题目描述1、对于如下给定的一组磁盘访问进行调度:请求服务到达 A B C D E F G H I J K L M N访问的磁道号 30 50 100 180 20 90 150 70 80 10 160 120 40 110请求服务到达ABCDEFGHIJKLMN访问的磁道号30501001802090150708010160120401102、要求分别采用先来先服务、最短寻道优先以及电梯调度算法进
2021-05-05 23:01:03 9207 3
【车联网原型系统】项目源码
2022-07-15
人脸识别(基于OpenCv 完整代码)
2022-03-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人