- 博客(49)
- 资源 (42)
- 收藏
- 关注
原创 6.3.3 异步定时方式
在异步定时方式中,没有统一的时钟,也没有固定的时间间隔,完全依靠双方相互制约的“握手”信号来实现定时控制。通常,把交换信息的两个部件或设备分为主设备和从设备。主设备提出交换信息的请求信号,经接口传送到从设备;从设备接到主设备的“请求”后,通过接口向主识别发出“回答”信号。优点:总线周期时间长度可变,能保证两个工作速度相差很大的部件或设备之间可靠地进行信息交换,自动适应时间的配合。缺点:比同
2016-09-23 18:31:38 3354
原创 6.1.3 系统总线的结构
1.单总线结构单总线结构将CPU、主存、I/O设备(通过I/O接口)都挂在一组总线上,运行I/O设备之间、I/O设备与主存之间直接交换信息。CPU与主存,CPU与外设之间可以之间进行信息交换,而无须经过中间设备的干预。注意:但总线并不是指只有一根信号线,系统总线按传送信息的不同可以细分为地址总线,数据总线和控制总线。优点:结构简单,成本低,易于接入新的设备;缺点:带宽低、负载重,多
2016-09-23 18:04:51 1622
原创 6.2.2 分布仲裁方式
分布仲裁方式不需要中央仲裁器,每个潜在的主模块都有自己的仲裁号和仲裁器。当它们有总线请求时,把他们各自唯一的仲裁号发送到共享的仲裁总线上,每个仲裁器将从仲裁总线上得到的仲裁号与自己的仲裁号进行比较。如果仲裁总线上的号优先级高,则它的总线请求不予响应,并撤销它的仲裁号。最后,获胜者的仲裁号留在仲裁总线上。
2016-09-23 17:45:41 3937
原创 6.2.1集中仲裁方式
为解决多个设备同时竞争总线控制权的问题,应当采用总线仲裁部件,以某种方式选择一个主设备优先获得总线控制权。只有获得总线控制权的设备,才能开始数据传送。总线控制逻辑基本上集中于一个设备(如CPU)中,将所有的总线请求集中起来,利用一个特定的裁决算法进行裁决,称为集中裁决方式。集中仲裁方式有链式查询方式、计数器查询方式和独立请求方式3种。1.链式查询方式链式查询方式,总线上所有的部
2016-09-23 17:38:45 3672 2
原创 Linux下安装JDK(rpm版)
1、下载JDK路径:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.htmlcd /tmp wget "http://download.oracle.com/otn-pub/java/jdk/7u25-b15/jdk-7u25-linux-x64.rpm?AuthParam=...
2016-09-23 14:01:02 825
原创 DMA方式
DMA方式是一种完全由硬件进行组信息传送的控制方式。具有程序中断方式的优点,即在数据准备阶段,CPU与外设并行工作。DMA方式在外设与内存之间开辟一条“直接数据通路”,信息传送不再经过CPU,降低了CPU在传送数据时的开销,因此称为直接存储器存取方式,由于数据传送不再经过CPU,也就不需要保护、恢复CPU现场等繁琐操作。这种方式适用于磁盘机、磁带机等高速设备大批量数据的传送,它的硬件开销比较大
2016-09-23 11:42:37 19787
原创 7.4.2 程序中断方式
1.中断的基本概念程序中断是指在计算机执行现行程序的过场中,出现某些急需处理的异常情况或特殊请求,CPU暂停中断现行程序,而专区对这些异常情况或特殊情况进行处理,在处理完毕后CPU又自动返回到现行程序的断点处,继续执行原程序。程序中断的作用如下:①实现CPU与I/O设备的并行工作。②处理硬件故障和软件错误。③实现人机交互,用户干预机器需要用到中断系统。④实现多道程序、分时操
2016-09-22 17:21:05 5224
原创 7.4.1 程序查询方式
信息交换的控制完全由主机执行程序实现,程序查询方式接口中设置一个数据缓冲寄存器(数据端口)和一个设备状态寄存器(状态端口)。当主机进行I/O操作时,首先发出询问信号,读取设备的状态并根据设备状态决定下一步操作究竟是进行数据传输还是等待。①CPU执行初始化程序,并预置传输参数。②向I/O接口发出命令字,启动I/O设备。③从外设接口读取器状态信息。④CPU不断查询I/O设备状态,直到外
2016-09-22 15:41:50 4677
原创 4.2.2 常见的数据寻址方式
1.隐含寻址在指令中隐含着操作数的地址。如单地址的指令格式,就不是明显地在地址字段中指出第二操作数的地址,而是规定累加器ACC作为第二操作数,指令格式明显指出的仅是第一操作数的地址。因此,累加器ACC对单地址指令格式来说是隐含地址。隐含寻址的优点是有利于缩短指令字长;缺点是需增加硬件。2.立即(数)寻址这种类型的指针的地址字段指出的不是操作数的地址么事操作数本身,又称为立即数。
2016-09-21 18:51:07 12170
原创 4.2.1指令寻址和数据寻址
寻址方式是指寻找指令或操作数有效地址的方式,也就是指确定本条指令的数据地址,以及下一条将要执行的指令地址的方式。寻址方式分为指令寻址和数据寻址两大类。指令中的地址码字段并不代表操作数的真实地址,称为形式地址(A)。用形式地址并结合寻址方式,可以计算出操作数在存储器中的真实地址,称为有效地址(EA)。寻找下一条要执行的指令地址称为指令寻址,寻找操作数的地址称为数据寻址。1.指
2016-09-21 17:11:15 4687
原创 1.3.1 计算机的主要性能指标
1.机器字长机器字长是指计算机进行一次整数运算(即定点整数运算)所能处理的二进制数据的位数,通常与CPU的寄存器位数、加法器有关。所以机器字长一般等于内存寄存器的大小,字长越长,数的表示范围越大,计算精度越高。计算机字长通常都选定字节(Byte,8位)的整数倍,通常是2、4、8倍。不同的计算机,字长可以不相同。2.数据通路带宽数据通路带宽是指数据总线一次所能并行传送信息的位数。这里所说
2016-09-21 14:47:51 7678
原创 1.2.5 计算机系统的多级层次结构
第1级是微程序机器层,这是一个实在的硬件层,它由机器硬件直接执行微指令。第2级是传统机器语言,它也是一个实际的机器层,它由微程序解释机器指令系统。第3级是操作系统层,它由操作系统程序实现。操作系统程序由机器指令和广义指令组成,这些广义指令是为了扩展机器功能而设置的,它是由操作系统定义和解释的软件指令,所以这一层也称为混合层。第4级是汇编语言层,它为用户提供一种符号化的语言,借此可编写汇
2016-09-20 18:20:20 5335
原创 1.2.4 计算机的工作过程
计算机的工作过程1)把程序和数据装入到主存储器中。2)从程序的起始地址运行程序。3)用程序的首地址从存储器中取出第一条指令,经过译码、执行等步骤控制计算机各功能部件协同运行,完成这条指令功能,并计算下一条指令的地址。4)用新得到的指令地址继续读出第二条指令并执行,直到程序结束为止;每一条指令到都是在取值、译码和执行的循环过程中完成的。下面以取数指令(即将指令地址码指
2016-09-20 17:53:13 6245
原创 4.5.3 哈弗曼树(Huffman)树和哈弗曼编码
1.哈夫曼树的定义树中结点被赋予一个表示某种意义的数值,称为该结点的权。从树根结点到任意结点的路径长度(经过的边数)与该结点上权值的乘积称为该结点的带权路径长度。树中所有叶结点的带权路径长度之和称为该树的带权路径长度,记为WPL=连加Wi*Li式中,Wi是第i个叶结点所带的权值;Ii是该叶结点到根结点的路径长度。在含有N个带权叶子结点的二叉树中,其中带权路径长度(WPL)最小的二叉
2016-09-20 14:04:50 1286
原创 4.5.2 平衡二叉树
1、平衡二叉树的定义为了避免树的高度增长过快,降低二叉排序树的性能,我们规定在插入和删除二叉树结点时,要保证任意结点的左、右子树高度差的绝对值不超过1,将这样的二叉树称为平衡二叉树,简称平衡树(AVL树)。定义结点左子树和右子树的高度差为该结点的平衡因子,则平衡二叉树结点的平衡因子的值只可能是-1、0或1。因此平衡二叉树可定义为它或者是一棵空树,或者是具有下列性质的二叉树:它的左子树和右子
2016-09-20 11:35:27 946
原创 4.5.1 二叉排序树
1、二叉排序树的定义左子树结点值2、二叉排序树的查找二叉排序树的查找时从根结点开始,沿着某一分支逐层向下进行比较比较的过程。若二叉排序树非空,将给定值与根结点的关键字比较,若相等,则查找成功;若不等,则当根结点的关键字大于给定关键字时,在根结点的左子树中查找,否则在根结点的右子树中查找。二叉排序树的非递归查找算法:BSTNode *BST_Search(BiTree T,E
2016-09-19 18:45:18 1220
原创 4.3.2 线索二叉树
二叉树结点的各种遍历序列,其实质是对一个非线性结构进行线性化操作,使在这个访问序列中每一个结点(除第一个和最后一个)都有一个直接前驱和直接后继。传统的链式存储技能体现一种父子关系,不能直接得到结点在遍历中的前驱或后继,通过观察,我们发现在二叉链表表示的二叉树中存在大量的空指针,若利用这些空链域存放指向其直接前驱或后继的指针,则可以更方便地运用某些二叉树操作算法,引入线索二叉树是为了加快查找结点
2016-09-19 14:58:17 872
原创 4.3.1 二叉树的遍历
所谓二叉树的遍历,是指按照某条搜索路径访问树中的每个结点,使得每个几点均被访问一次,而且仅被访问一次。遍历一棵二叉树便要决定对根结点N、左子树L和右子树R的访问顺序、按照先序遍历左子树再遍历右子树的原则,常见的遍历次序有先序(NLR)、中序遍历(LNR)和后序遍历(LRN)三种遍历算法。其中,序指的是根结点在何时被访问。1、先序遍历(PreOrder)如果二叉树为空,什么也不做,否则:
2016-09-19 11:18:18 784
原创 斐波那契数列递归算法和非递归算法
斐波那契数列的表达式:F(1)=1F(2)=1F(n)=F(n-1)+F(n-2) (n>2)递归算法:时间复杂度O(n^2)int recursive_method(int n){ if (n == 1 || n == 2) return 1; else return recursive_method(
2016-09-18 18:34:26 2328 1
原创 6.2.3 分块查找
分块查找,又称为索引顺序查找,吸收了顺序查找和折半查找各自的优先,既有动态结构,又适于快速查找。分块查找的基本思想:将查找表分为若干个字块。块内的元素可以无序,但块之间是有序的,即第一个块中的最大关键字小于第二个块中的所有记录的关键字,即第二个块中的最大关键字小于第三个块中的所有记录的关键字,依次类推。再建立一个索引表,索引表中的每个元素含有各块中最大关键字和各块中第一个元素的地址,索引表按关...
2016-09-18 17:14:56 1317
原创 6.2.2 折半查找
折半查找,又称二分查找,它适用于有序的顺序表。基本思路是:首先将给定值key与表中中间位置元素的关键字比较,若相等,则查找成功,返回该元素的存储位置;若不等,则所需查找的元素只能在中间元素以外的前半部分或后半部分中(例如,在查找表升序排列时,若给定值key大于中间元素的关键字,则所查找的元素只可能在后半部分)。然后在缩小的范围内继续进行同样的查找,如此重复直到找到为止,或者确定表中没有搜需要查找的
2016-09-18 16:46:40 897
原创 5.4.4 关键路径
在带权有向图中,以顶点表示时间,有向边表示活动,边上的权值表示完成该活动的开销(如完成活动所需的时间),则称这种有向图为用边表示活动的网络,简称为AOE网。①只有在某顶点所代表的时间发生或,从该顶点出发的各有向边所代表的活动才能开始。②只有在进入某一顶点的各有向边所代表的活动都已经结束,该顶点所代表的时间才能发生。在AOE网中仅有一个入度为0的顶点,称为开始顶点(源点),它表示整个工程
2016-09-18 15:41:27 1876
原创 5.4.3拓扑排序
有向无环图:一个有向图中不存在环,则称为有向无环图,简称DAG图。AOV网:如果用DAG图表示一个工程,其顶点表示活动,用有向边表示活动Vi必须先于活动Vj进行的这样一种关系,则将这种有向图称为顶点表示活动的网络,记为AOV网。在AOV网中,活动Vj是活动Vi的直接后继,这种前驱和后继关系具有传递性,且任何活动Vi不能以它自己作为自己的前驱或后继。拓扑排序:在图论中,由一个有向无环图的顶点
2016-09-14 17:57:08 1028
原创 5.4.1 最小生成树(Minimum-Spanning-Tree,MST)
一个连通的生成树是图中的极小连通子图,它包括图中的所有顶点,并且只含尽可能少的边。这意味着对于生成树来说,若砍去它的一条边,就会使生成树变成非连通图;若给它添加一条边,就会形成图中的一条回路。对于一个带权连通无向图G=(V,E),生成树不用,每棵树的权(即树中所有边上的权值之和)也可能不同。设R是G的所有生成树的集合,若T为R中边的权值之和最小的那棵生成树,则T称为G的最小生成树。最小生成
2016-09-14 14:04:48 1295
原创 5.3.3 图的遍历与图的连通性
图的遍历算法可以用来判断图的连通性。对于无向图来说,如果无向图是连通的,则从任一结点出发,仅需一次遍历就能够访问图中所有顶点;如果无向图是非连通的,则从某一个顶点出发,一次遍历只能访问到该顶点所在连通分量的所有顶点,而对于图中其他连通分量的顶点无法通过这次遍历访问。对于有向图来说,若从初始点到图中的每个顶点都有路径,则能够访问图中的所有顶点,否则不能访问到所有顶点。故而在BFSTr
2016-09-14 13:33:54 2454
原创 5.3.2 深度优先搜索(Depth-First-Search,DFS)
与广度优先搜索不同,深度优先搜索(DFS)类似于树的先序遍历。正如其名称中所暗含的意思一样,这种搜索所遵循的搜索策略是尽可能“深”地搜索一个图。它的基本思想如下:首先访问图中某一起始顶点v,然后由v出发,访问与v邻接且未访问的任一顶点W1,再访问与w1邻接且未被访问任一W2,……重复上述过程。当不能再继续向下访问时,依次退回到最近被访问的顶点,若它还有邻接顶点未被访问过,则从该点开始上述搜索过程,
2016-09-14 13:14:34 3033
原创 5.3.1图的遍历
图的遍历是指从图中的某一顶点出发,按照某种搜索方法沿着图中的边对图中的所有顶点访问一次且仅访问一次。注意到树是一种特殊的图,所以树的遍历实际上也可以看作是一种特殊图的遍历。图的遍历是图的一种最基本的操作,其他许多操作都建立在图的遍历操作基础之上。5.3.1广度优先搜索(Breadth-First-Search,BFS)广度优先搜索(BFS)类似于二叉树的层序遍历算法,它的基本思想是:首先访
2016-09-13 18:27:03 985
原创 5.2.4 邻接多重表
邻接多重表时无向表的另一种链式存储结构。在邻接表中,容易求得顶点和边的各种信息,但在邻接表中求两个顶点之间是否存在边,或需要对边执行删除等操作时,需要分别在两个顶点的边表中遍历,效率较低。与十字链表类似,在邻接多重表中,每一条边用一个结点表示,其结构如下图:markivexilinkjvexjlinkinfo其中,mark为标志域
2016-09-13 16:18:05 3001
原创 5.2.3 十字链表
十字链表是有向图的一种链式存储结构。在十字链表中,对应于有向图中的每条弧有一个结点,对应于每个顶点也有一个结点,这些结点的结构如下:弧结点taivexheadvexhlinktlinkinfo顶点结点datafirstinfirstout弧结点中有5个域:其中尾域
2016-09-13 15:45:32 1126 1
原创 5.2.2 邻接表法
当一个图为稀疏图时,使用邻接矩阵表示法显然要浪费大量的存储空间。而图的邻接表示法结合了顺序存储和链式存储方法,大大减少了这种不必要的浪费。所谓邻接表就是对每个顶点vi建立一个单链表,第i个单链表中的结点表示依附于顶点vi的边(对于有向图则是以顶点vi为尾的弧),这个单链表就称为顶点vi的边表(对于有向图则成为出边表)。边表的头指针和顶点的数据信息采用顺序存储(称为顶点表),所以在邻接表中存在两
2016-09-13 13:41:02 1088
原创 5.2 图的存储及基本操作
图的存储必须要完整、准确地反映顶点集和边集的信息。根据不同图的结构和算法,可以用不同的存储方式,但不同的存储方式将对程序的效率产生很大的影响,因此,所选的存储结构应适合于欲求解的问题。无论是有向图还是无向图,主要的存储方式都有两种:邻接矩阵和邻接表。前者属于图的顺序存储结构,后者属于图的链接存储结构。5.2.1邻接矩阵表所谓邻接矩阵存储,就是用一个一维数组存储图中顶点的信息,用一个二维数组存储图中
2016-09-13 11:23:47 1004
原创 5.1 图的基本概念
1、完全图在无向图中,如果任意两个顶点之间都存在边,则称该图为无向完全图。含有n个顶点的无向图有n(n-1)/2条边。在有向图中,如果任意两个顶点之间都存在方向相反的两条弧,则称该图为有向完全图。含有n个顶点的有向完全图有n(n-1)条有向边。2、连通、连通图和连通分量在无向图中,若从顶点v到顶点W有路径存在,则称v和w是连通的。若图G中任意两个顶点都是连通的,则称图G为连
2016-09-12 17:14:42 843
原创 7.7.5 最佳归并树
文件经过置换-选择排序之后,得到的是长度不等的初始归并段。下面讨论如何组织初始归并段的归并顺序,使I/O访问次数最少。m-路归并排序可用一棵m叉树描述,因为每一次作m路归并都需要m个归并段参加,因为,归并段树是一棵只有度为0和度为m的结点的严格m叉树。设由置换-选择排序得到9个初始归并段,其长度(记录数)依次为:9,30,12,18,3,17,2,6,24。现作3-路归并,各叶结点表示
2016-09-12 14:45:43 9993
原创 7.7.4 置换选择排序(生成初始归并段)
7.7.3讨论了如何使用m路归并来减少磁盘访问次数。从第7.7.2的讨论可知,减少初始归并段个数r也可以减少归并趟数S。若总的记录个数为n,每个归并段的长度为L,则归并段的个数m=[n/L]。如果采用前面介绍的内部排序方法,将得到长度相同的初始归并段。因此,必须探索新的算法俩生成初始归并段,这就是本节介绍的置换-选择算法。设初始待排文件FI,初始归并段文件为FO,内存工作区为WA,内存工作区可
2016-09-12 11:24:33 8021
原创 7.7.3 多路平衡归并与败者树
归并趟数S=[logm R](向下取整)。从而增加归并路数m可以减少归并趟数S,进而减少访问外存的次数(I/O次数)。然而,当增加归并路数m时,内部归并时间将增加。做内部归并时,在m个元素中选择关键字最小的记录需要比较m-1次。每趟归并n个元素需要作(n-1)*(M-1)次比较,S趟归并总共需要的比较次数为:S*(n-1)*(m-1)=[logmR]*(n-1)*(m-1)=[log2R]*(
2016-09-09 18:59:49 4287 1
原创 外部排序的方法
在实际应用中,由于外存设备的不同,通常又可分配磁盘文件排序和磁带文件排序两大类。磁带排序和磁盘排序的基本步骤相类似,主要的不同之处在于初始归并段在外存介质中的分布方式,磁盘是直接存储设备,磁带是顺序存储设备。下面以磁盘为例进行说明。文件通常是按块存储在磁盘上的,操作系统也是按块对磁盘上的信息进行读写的。因为磁盘读写的机械动作所需时间远远超过内存运算的时间(相比而言,可以忽略不计)。因此,在外部
2016-09-09 17:26:52 4841 7
原创 7.7.1外部排序
①外部排序指待排序文件较大,内存一次放不下,需存放在外部介质的文件的排序。②为减少平衡归并中外存读写次数所采用的方法:增大归并路数和减少归并段个数。③利用败者树增大归并路数。④利用置换-选择排序增大归并段长度来减少归并段个数。⑤由长度不等的归并段,进行多路平衡归并,需要构造最佳归并树。7.7.1外部排序的基本概念内部排序都是在内存中进行的,而在实际应用中,经常需要对大文件进
2016-09-09 15:28:32 737
原创 排序算法 归纳总结
一、直接插入排序、冒泡排序和简单选择排序是最基本的排序方法,它们主要用于元素个数n(n它们的平均复杂度均为O(n^2),实现也比较简单。1、直接插入排序对于规模很小的元素序列(n2、冒泡排序在最好的情况下只需要一趟排序过程就可以完成,此时只需要n-1次比较操作,不需要交换操作。3、简单选择排序的关键字比较次数与待排序元素序列的初始排序无关,其比较次数总是O(n^2),但元素移动次数
2016-09-09 15:05:33 1059
原创 3.5.1介质访问控制
介质访问控制所要完成的主要任务是为使用介质的每个结点隔离来自同一信道上其他结点所传送的信号,以协调活动结点的传输。用来决定广播信道中信道分配的协议属于数据链路层的一个子层,称为介质访问控制(Medium Access Control,MAC)子层。常见的介质访问控制方法有:信道划分介质访问控制,随机访问介质访问控制和轮询访问介质访问控制。其中前者是静态划分信道的方法,而后者是动态分配信道的方法
2016-09-08 23:49:49 2008
原创 7.6.2 内部排序算法的应用
(1)选取排序方法需要考虑的因素1)待排序的元素数目n。2)元素本身信息量的大小。3)关键字的结构及其分布情况。4)稳定性的要求。5)语言工具的条件,存储结构及辅助空间的大小等。(2)排序算法小结1)若n较小(N2)若文件的初始状态已按关键字基本有序,则选用直接插入或冒泡排序为宜。3)若n较大,则应采用时间复杂度为O(nlog2N)的排序方法:快速排序、堆排序或
2016-09-08 19:09:32 688
计算广告学第六单元课件.pdf
2021-11-03
计算广告学第五单元课件.pdf
2021-11-03
计算广告学第四单元课件.pdf
2021-11-03
计算广告学第三单元课件.pdf
2021-11-03
计算广告学第二单元课件.pdf
2021-11-03
深度学习在美团搜索广告排序的应用实践.pdf
2021-10-31
知乎推荐算法和帐号运营2021.pdf
2021-09-16
Adaptive Focus for Efficient Video Recognition.pdf
2021-08-23
Linux教程.ppt
2021-08-20
NLP中的注意力机制.pptx
2021-08-14
神经网络语言模型.pdf
2021-08-14
深度学习与问答系统.pdf
2021-08-14
深度学习与情感分析.pdf
2021-08-14
当代大学生的就业与成才.doc
2021-08-14
电信运营-计费管理系统的设计与实现.ppt
2021-08-14
SQL Server数据库实验_存储过程与触发器设计.docx
2021-08-11
SQL Server数据库实验_创建和修改数据表及数据完整性.doc
2021-08-11
SQL Server数据库实验_数据查询与更新_简单的单表查询.doc
2021-08-11
SQL Server数据库实验_数据查询与更新_复杂的单表查询.doc
2021-08-11
数据仓库与数据挖掘第二章Part2 ETL_AND_OLAP.ppt
2021-08-07
数据仓库与数据挖掘第三章Part3 An Intruction to Data Mining.ppt
2021-08-07
数据仓库与数据挖掘第五章Part5 Clustering聚类.ppt
2021-08-07
数据仓库与数据挖掘第六章Part6_6_SVM支持向量机.ppt
2021-08-07
数据仓库与数据挖掘第六章Part6_5_Rough_Set粗糙集.ppt
2021-08-06
数据仓库与数据挖掘第六章Part6_4_Genetic_Algorithm遗传算法.ppt
2021-08-06
数据仓库与数据挖掘第六章Part6_3 Neural Network神经网络.ppt
2021-08-06
数据仓库与数据挖掘第六章Part6_2 Naive Bayes Bayesian networks朴素贝叶斯.ppt
2021-08-06
数据仓库与数据挖掘第六章Part6_1 Decision Tree决策树.ppt
2021-08-06
数据仓库与数据挖掘第六章Part6_0 Classification.ppt
2021-08-06
HTMLCSSJavaScript标准教程:实例版(第2版)习题参考答案.docx
2021-08-03
互联网简历撰写技巧.zip
2021-08-02
map-reduce.pdf
2021-08-02
looklike.pdf
2021-08-02
titanic.csv
2021-06-11
主流app描述信息,包含package_name,app_name,app_info等基本信息
2021-04-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人