计算机基础
哎呦喂-ll
这个作者很懒,什么都没留下…
展开
-
大话数据结构之:顺序查找
顺序查找又称为线性查找,是最基本的查找技术,它的查找过程是:从表中第一个(或最后一个)记录查起,逐个进行记录的关键字和给定值的比较。若某个记录的关键字和给定值相等,则查找成功,找到所查的记录;如果直到最后一个(或第一个)记录,其关键字和给定值比较都不相等,则表中没有所查的记录,查找失败。基本算法如下:/* array 要查的数组 n 数组大小 key 要查的关键字 */int s原创 2017-03-03 09:43:56 · 577 阅读 · 0 评论 -
网络:TCP/UDP详解
1、TCPTCP是一种流模式的协议。是面向连接的、传输可靠(保证数据正确性且保证数据顺序)、用于传输大量数据(流模式)、速度慢,建立连接需要开销多(时间、系统资源)的协议。也就是说,在连接持续过程中,Socket中收到的数据都是同一台主机发出的,因此知道数据是有序到达就行了,至于每次读取多少数据不关心。2、TCP的三次握手SYN(synchronous)是同步标志;ACK...转载 2017-02-22 10:36:44 · 427 阅读 · 0 评论 -
网络:HTTP详解
1、什么是URLURL称为:统一资源定位符,http通过一个URL能找到互联网上唯一的资源。URL就是资源的地址、位置,互联网上每个资源都有唯一的地址。URL的基本格式:协议://主机地址/路径协议:不同的协议代表着不同的资源查找方式、传输方式主机地址:存放资源的主机IP地址(域名)路径:资源在主机中的具体位置2、URL中常见的协议该层的协议是用来查找文...原创 2017-02-22 11:37:12 · 435 阅读 · 0 评论 -
树的基本概念
树定义 树是n(n>=0)个结点的有限集。n=0时称为空树。在任意一课非空树中:(1)有且仅有一个特定的称为根的结点;(2)当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1、T2、…、Tm,其中每一个集合本身又是一棵树,并且称为根的子树。注意点n>0时,根结点是唯一的,不可能存在多个根结点。m>0时,子树的个数没有限制,但它们一定是互不相交的。结点分类树的结点包含一个数据元素原创 2017-04-13 10:23:01 · 777 阅读 · 0 评论 -
串
串串的定义 串是由零个或多个字符组成的有限序列,又名叫字符串。所谓的序列,说明串的相邻字符之间具有前驱和后继的关系。空格串,是只包含空格的串。空格串是有内容有长度的,而且可以不止一个空格。子串与主串,串中任意个数的连续字符组成的子序列称为该串的子串。包含子串的串称为主串。子串在主串中的位置就是子串的第一个字符在主串中的序号。串的比较串的比较是通过组成串的字符之间的编码来进行的,字符的编码指原创 2017-04-13 10:20:47 · 491 阅读 · 0 评论 -
队列
队列 只允许在一端进行插入操作,而在另一端进行删除操作的线性表。队列是一种先进先出的线性表,简称FIFO。允许插入的一端称为队尾,允许删除的一端称为队头。队列的顺序存储插入数据时,只要在队列的末尾追加一个元素,不需要移动任何元素,因此时间复杂度为O(1);删除数据时,需要在队列的开头删除一个元素,后面的元素依次向前移动一位,和线性表的顺序存储结构完全相同。因此时间复杂度为O(n);为了避原创 2017-03-31 13:53:37 · 388 阅读 · 0 评论 -
栈
栈栈的定义 栈是限定仅在表尾进行插入和删除操作的线性表。允许插入和删除的一端称为栈顶,另一端称为栈底,不含任何数据元素的栈称为空栈。栈又称为后进先出的线性表,简称LIFO结构。理解栈的定义:首先它是一个线性表,栈元素具有线性关系,即前去后继关系。表尾即栈顶。特殊之处在于限定插入和删除的位置,栈底是固定的,最先进栈的只能在栈底。栈的插入操作,叫做进栈,也称压栈、入栈。栈的删除操作,叫做出原创 2017-03-31 09:32:39 · 647 阅读 · 0 评论 -
算法基础概念
算法定义特性算法设计的要求算法效率的度量方法函数的渐近增长算法时间复杂度常见的时间复杂度最坏情况和平均情况算法空间复杂度算法定义算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。 为了解决某个或某类问题,需要把指令表示成一定的操作序列,操作序列包括一组操作,每一个操作都完成特定的功能,这就是算法了。特性算法具有5个基本特性:输入、原创 2017-03-14 14:58:06 · 414 阅读 · 0 评论 -
数据结构基本概念
数据结构基本概念和术语数据 是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。数据不仅仅包括整型、实型,还包括字符及声音、图像、视频等非数值类型。 1.1 数据就是符号,这些符号必须具备有两个前提: 可以输入都计算机中能被计算机程序处理数据元素 是组成数据的、有一定意义的基本单位,在计算机中通常作为整体处理,也被称为记录。数据项 一个元原创 2017-03-14 10:35:35 · 363 阅读 · 0 评论 -
循环链表
循环链表 将单链表中终端节点的指针端由空指针改为指向头结点,就使整个单链表形成一个环,这种头尾相接的单链表称为单循环链表,简称循环链表。循环链表的判断条件循环链表和单链表的主要差异就在于循环的判断条件上,原来是判断p->next是否为空,现在则是p->next不等于头结点,则循环未结束。改造循环链表在单链表中,有了头结点时,可以用O(1)的时间访问第一个结点,单对于要访问到最后一个结点,却需要原创 2017-03-30 10:37:42 · 886 阅读 · 0 评论 -
线性表
线性表定义零个或多个数据元素的有限序列。 用数学语言来进行定义如下: 若将线性表标记为(a1,……,ai-1,ai,……,an),则表中的ai-1领先于ai,ai领先于ai+1,称ai-1是ai的直接前驱,ai+1是ai的直接后继元素。当i=1,2,……,n-1时,ai有且仅有一个直接后继,当i=2,3,……,n时,ai有且仅有一个直接前驱。线性表元素的个数n(n>=0)定义为线性表的长度,原创 2017-03-29 16:50:14 · 532 阅读 · 0 评论 -
大话数据结构之:直接插入排序
直接插入排序 直接插入排序(straight insertion sort)的基本操作是将一个记录插入到已经排好序的有序表中,从而得到一个新的、记录数增1 的有序表。从名称上就知道它是一种插入排序的方法。它的前提是,已存在的数据表中的数据是有序的。代码具体代码如下://直接插入排序void straight_insertion_sort(int *array, int n){ in原创 2017-03-09 10:59:48 · 403 阅读 · 0 评论 -
大话数据结构之:稠密索引
概念前面讲的两种查询方法都是基于有序小量的基础上,但是数据集的增长速度一般都很迅速,如微博,日活可以达到上千万上亿条,这么多的数据,如果按照某个关键字进行排列是不现实的,通常都是按照先后顺序存储的。 对于这样的数据表,如何能够快速的查找到需要的数据呢?办法就是——索引。 数据结构的最终目的是提高数据的处理速度,索引是为了加快查找速度而设计的一种数据结构。 所谓索引,就是把一个关键字与它对应的原创 2017-03-08 14:32:45 · 523 阅读 · 0 评论 -
大话数据结构之:分块索引
分块索引稠密索引因为索引项和数据集的记录个数相同,所以控件代价很大。为了减少索引项的个数,我们可以对数据集进行分块,使其分块有序,然后再对每一块建立一个索引项,从而减少索引项的个数。 分块有序,是把数据集的个数分成了若干块,并且这些块需要满足两个条件块内无序,即每一块内的记录不需要有序。块间有序,即要求第二块内记录的所有关键字都要大于第一块内的所有关键字,第三块内的所有关键字都要大于第二块内的原创 2017-03-08 15:08:28 · 693 阅读 · 0 评论 -
大话数据结构之:简单选择排序
简单选择排序 简单选择排序法(simple selection sort)就是通过n-i次关键字间的比较,从n-i+1个记录中选出最小关键字的记录,并和第i个记录交换之。我们来看代码:void simple_selection_cort(int *array, int n){ int min; for(int i = 0; i < n; i++){ min =原创 2017-03-08 10:45:16 · 373 阅读 · 0 评论 -
大话数据结构之:冒泡排序
对于排序来说,冒泡排序是最简单的排序算法,它的主要思想是,通过每一趟的两两比较,使需要的数字慢慢从底部冒上来,故称为冒泡排序。原创 2017-03-07 21:52:39 · 565 阅读 · 0 评论 -
大话数据结构之:折半查找
折半查找(Binary search)也称为二分查找。它的前提是线性数据表中的记录必须是关键码有序(通常是从小到大有序),线性表必须采用顺序存储。折半查询的基本思想是:在有序表中,取中间记录作为比较对象,若给定值与中间记录的关键字相等,则查找成功;若给定值小于中间记录的关键字,则在中间记录的左半区继续查找;若给定值大于中间记录的关键字,则在中间记录的右半区继续查找;不断重复原创 2017-03-03 14:09:46 · 453 阅读 · 0 评论 -
网络:基本概念之HTTP、TCP/IP、UDP,Socket
1、网络层的概念网络自下往上依次分为:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。其中物理层、数据链路层、网络层被称为媒体层,是网络工程师研究的对象。传输层、会话层、表示层、应用层被称为主机层,是用户所面向和关心的对象。2、HTTP协议对应应用层TCP、UDP对应传输层IP对应网络层三者本质上没有可比性:HTTP协议是基于TCP连...原创 2017-02-21 10:28:56 · 623 阅读 · 0 评论