数据库系统DBS概述-什么是数据库系统 数据、数据库、数据库管理系统、数据库系统 数据(Data):数据是数据库中存储的基本对象。,定义为描述事物的符号记录,也可以是文字、图像、图形、声音、语言等。 数据库(DataBase,简称DB):数据库时长期储存在计算机内,有组织的,可共享的大量数据的集合。 数据库数据具有永久存储、有组织和可共享三个基本特点 有组织:在电脑内D盘和C盘都是可以的 可共享:可以给别人用 数据库管理系统(DataBase Management System,DBMS:我们可以把这个理解为是仓库管理员,管理着数据的存储和流动,数据库管理系统的主要功能包括: 数
前言 这一章我们要搞清楚哪两个问题 数据如何在计算机中表示 运算器如何实现数据的算术、逻辑运算。 进位计数制 十进制 我们常说的几进制指的是权值,而真正的数是数码位。举个例子,十进制1234,那么我们要求他们的值就是数码位乘权值再相加。: $$1234 = 1 \times 10^3 + 2 \times 10^2 + 3 \times 10^1 + 4 \times 10^0 $$ 位权 我们把这种因为位置会发生的权值称为位权 r进制计数法 $$\begin{align*} \text{r 进制:}\ K_n K_{n-1} \dots K_2 K_1 K_0 K_{-
随机事件与样本空间 确定性 随机性的对立是确定性,那么我们先来思考一下什么是确定性。比如说月亮绕着地球转,地球绕着太阳转,明天天一定会亮,字母表AB后一定是C,这些都是确定一定会发生的事情,也就是说只有一个结果的事件,我们就说这个事件有确定性。 随机性 那么和确定相对的就是随机性,也就是说我们事先不知道它会不会发生。比如说明天下雨啊,那么这个事情在明天到来前有多个结果,那么就是随机性。 随机试验 我么将满足以下三个特点的试验称为随机试验: 可以在相同条件下重复地进行 每次试验的可能结果不只一个,但是事先能明确试验的所有可能结果可知性 进行一次试验之前不能确定哪一个结果发生 随机性 随
走进JAVA IO 底层 注意: 这块会涉及到操作系统和计算机组成原理相关内容。 I/O简而言之,就是输入输出,其实I/O无时无刻都在我们的身边,比如读取硬盘上的文件,网络文件传输,鼠标键盘输入,也可以是接受单片机发回的数据,而能够支持这些操作的设备就是I/O设备。 我们可以大致看一下整个计算机的总线结构: 不过基本现在北桥芯片都在CPU里面了。 常见的I/O设备一般是鼠标、键盘这类通过USB进行传输的外设或者是通过Sata接口或是M.2连接的硬盘。一般情况下,这些设备是由CPU发出指令通过南桥芯片间接进行控制,而不是由CPU直接操作。 上面的这些USP即可偶就是插入IO设备。 而我们
计算机硬件能识别的数据 低/高电平 用低/高电平分别表示 0/1 我们在计算机内部传递数据就是靠这种电信号来传递的,而硬件传递方式就是针脚。 这些玩意就是针脚,越多高低电平传递越多;同样的,这些东西也是用来导电的。 通过很多条电线,可以传递多个二进制数位,每个二进制位称为1 bit(比特) 二进制0/1 计算机硬件唯一能识别的数据 计算机硬件的基本组成 计算机硬件的基本组成分别为以下两种结构: 早期冯诺依曼机的结构 现代计算机的结构 冯诺依曼机 什么是冯诺依曼机 早期第一台计算机ENIAC就是冯诺依曼当设计顾问的,这台计算机有一个很大的问题,就是实行任意程序都需要人员来进
在JavaSE阶段,我们学习了I/O流,既然I/O流如此强大,那么能否跨越不同的主机进行I/O操作呢?这就要提到Java的网络编程了。 计算机网络基础 利用通信线路和通信设备,将地理位置不同的、功能独立的多台计算机互连起来,以功能完善的网络软件来实现资源共享和信息传递,就构成了计算机网络系统。 通过将我们的设备连接到路由器,来实现对互联网的访问。 我们的路由器连接在互联网上,而我们的设备又连接了路由器,这样我们的设备就可以通过路由器访问到互联网了。 通过网络,我们可以直接访问互联网上的另一台主机,比如我们要把QQ的消息发送给我们的朋友,或是通过远程桌面管理来操作另一台电脑,也可以是连接本地
什么是爬虫 爬虫爬的好,牢饭吃的早。但本身来讲数据是无罪的,爬虫作为一个便携且低成本获取数据的方式,现如今非常广泛,但还是要遵纪守法的,有些东西不该你知道就别动。 还要记住,爬虫的请求数量和频率不能过高,要不然和DDoS攻击没什么区别了。如果网站本身有反爬机制,那就别去强行突破了。 我们可以通过查看网站的robots.txt文件,了解可爬取的网页路径范围,这个文件会指明哪些网站会允许被爬取,哪些不允许被爬取。 爬虫的流程 爬虫的流程可能比你想象中的更简单 第一步:获取网页内容 我们会通过代码给一个网站服务器发送请求,它会返回给我们网页上的内容。 在我们平时使用浏览器访问网页内容时,本
首先给个爸爸像儿子的爆论,经过学习Python基础后,Python简直就是Gds 开端 python解释器 在第一次写下python代码之前,我们需要了解到python是通过解释器来解释成计算机语言的,这与某些语言的编译器有些许差别,所以我们需要下载python解释器来执行。 而python的运行过程是翻译一行,执行一行 我们一般说安装python,本质就是安装python解释器 python代码编辑器 我们这边使用的是PyCharm编辑器,当我们创建好项目后,需要熟悉以下东西 venv 表示这个项目独立的Python虚拟环境,可以让不同项目可以用不同的解释器版本,还有安装第三方库
冒泡排序 原理 冒泡排序在C语言程序设计篇已经讲解过了,冒泡排序的核心就是交换,通过不断地进行交换,一点一点将大的元素推向一端,每一轮都会有一个最大的元素排到对应的位置上,最后形成有序。算法演示网站:点我打开♪(∇*) 设数组长度为N,详细过程为: 共进行N轮排序。 每一轮排序从数组的最左边开始,两两元素进行比较,如果左边元素大于右边的元素,那么就交换两个元素的位置,否则不变。 每轮排序都会将剩余元素中最大的一个推到最右边,下次排序就不再考虑这些已经在对应位置的元素。 比如下面的数组: 那么在第一轮排序时,首先比较前两个元素: 我们发现前者更大,那么此时就需要交换,交换之后,继续向
生成树 极小连通图 我们来讨论一下极小连通子图。这里的极小主要是说的边数的极小,首先依然要是原图的子图并且是连通的,但是此时要求具有最大的顶点数和最小的边数,也就是说再去掉任意一条边会导致图不连通(直接理解为极大连通子图尽可能去掉能去掉的边就行了) 针对于极小连通子图,我们一般只讨论无向图我们依然将原图就是连通图和原图不是连通图分开分析,首先是原图本身就是连通图的情况: 原图本身就是连通图,那么其极大连通子图就是其本身,此时我们需要尽可能去掉那些“不必要”的边,依然能够保证其是连通的,也就是极小连通子图。可以看到右边两幅图,跟左边这幅图包含了同样的顶点数量,但是边数被去掉了一些,并且如果