自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

谢语天

努力~~奋斗~~

  • 博客(79)
  • 资源 (1)
  • 收藏
  • 关注

转载 14、B树、B+树的概念及用途

B-树       是一种多路搜索树(并不是二叉的):       1.定义任意非叶子结点最多只有M个儿子;且M>2;       2.根结点的儿子数为[2, M];       3.除根结点以外的非叶子结点的儿子数为[M/2, M];       4.每个结点存放至少M/2-1(取上整)和至多M-1个关键字;(至少2个关键字)       5.非叶

2014-08-09 15:48:45 4633

原创 12. 分配排序

分配排序

2014-08-09 15:21:23 1321

原创 11. 常见的有哪几种排序算法,试比较其时间复杂度,以及是否稳定,及各自使用的情形

几种常见排序算法的时间复杂度排序方法平均情况最好情况最坏情况直接插入排序O(n2)O(n)O(n2)起泡排序O(n2)O(n)O(n2)快速排序O(nlog2n)O(nlog2n)

2014-08-08 21:06:05 4509 1

原创 9. 图有哪些储存表示

1、邻接矩阵

2014-08-08 20:15:21 1332

原创 8.红黑树的定义,红黑树的性能分析和与平衡二叉树的比较

平衡二叉树平衡二叉树或者是一颗空的二叉排序树,或是juy

2014-08-08 16:46:14 2565

原创 7. 二叉排序树的搜索、插入、删除,时间复杂度

二叉排序树又称二叉查找树,它或是一棵空的er

2014-08-08 15:31:05 29191

原创 6. 哈希。哈希函数的有哪些种? 处理冲突的方法? 闭散列方法有哪些?

哈希

2014-08-07 22:21:05 2782

原创 5. 堆,建堆算法,堆排序

堆堆实际上是一棵完全二叉树,其任何一非叶节点满足性质: Key[i]=Key[2i+1]&&key>=key[2i+2] 即任何一非叶节点的关键字不大于或者不小于其左右孩子节点的关键字。 堆分为大顶堆和小顶堆,满足Key[i]>=Key[2i+1]&&key>=key[2i+2]称为大顶堆,满足 Key[i]<=key[2i+1]&&Key[i]<=key[2i+2]称为小顶堆。由上述性质可知

2014-08-07 20:12:15 2479

原创 4. 二叉树前序、中序、后序递归遍历算法,二叉树前序非递归遍历算法

二叉树前序遍历:

2014-08-07 16:28:01 923

原创 3. 字符串匹配算法:朴素的匹配算法、KMP算法。

朴素的匹配算法:

2014-08-07 15:35:06 776

原创 2. 栈的两个应用:括号匹配和表达式的计算。

字符串括号匹配

2014-08-07 14:15:36 1323

原创 1.数据结构的定义

数据结构是指相互之间存在

2014-08-07 14:06:54 1077

转载 数据结构面试大纲

1. 数据结构的定义。2. 栈的两个应用:括号匹配和表达式的计算。是怎么应用的?表达式计算用的是哪种表达方式?有什么好处?3. 字符串匹配算法:朴素的匹配算法、KMP算法。4. 二叉树前序、中序、后序递归遍历算法。二叉树前序非递归遍历算法。5. 堆,建堆算法,堆的插入和删除算法,堆排序。6. 哈希。哈希函数的有哪些种?余数的取法? 处理冲突的方法? 闭散列方法有哪些?7.

2014-08-07 11:10:04 877

转载 16.操作系统的四个特性

1)并发(concurrence)并行性与并发性这两个概念是既相似又区别的两个概念。并行性是指两个或者多个事件在同一时刻发生,这是一个具有微观意义的概念,即在物理上这些事件是同时发生的;而并发性是指两个或者多个事件在同一时间的间隔内发生,它是一个较为宏观的概念。在多道程序环境下,并发性是指在一段时间内有多道程序在同时运行,但在单处理机的系统中,每一时刻仅能执行一道程序,故微观上这些程序是在交替

2014-08-07 11:04:34 2575

原创 15.动态链接及静态链接

静态链接就是在编译链接时直接将需要的执行代码拷贝到调用处,优点就是在程序发布的时候就不需要的依赖库,也就是不再需要带着库一块发布,程序可以独立执行,但是体积可能会相对大一些。动态链接就是在编译的时候不直接拷贝可执行代码,而是通过记录一系列符号和参数,在程序运行或加载时将这些信息传递给操作系统,操作系统负责将需要的动态库加载到内存中,然后程序在运行到指定的代码时,去共享执行内存中已经加载

2014-08-07 11:03:46 861

转载 14.几种页面置换算法

1)最佳置换算法(OPT)(理想置换算法)这是一种理想情况下的页面置换算法,但实际上是不可能实现的。该算法的基本思想是:发生缺页时,有些页面在内存中,其中有一页将很快被访问(也包含紧接着的下一条指令的那页),而其他页面则可能要到10、100或者1000条指令后才会被访问,每个页面都可以用在该页面首次被访问前所要执行的指令数进行标记。最佳页面置换算法只是简单地规定:标记最大的页应该被置换

2014-08-07 10:50:41 1221

转载 13.分段分页方式的比较

分段和分页其实都是一种对地址的划分或者映射的方式。 两者的区别主要有以下几点:1)页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率;或者说,分页仅仅是由于系统管理的需要,而不是用户的需要(也是对用户透明的)。段是信息的逻辑单位,它含有一组其意义相对完整的信息(比如数据段、代码段和堆栈段等)。分段的目的是为了能更好的满足用户的需要(用户也是可以使用的)。

2014-08-07 10:49:12 1231

转载 12.基本分页、请求分页存储管理方式

基本分页储存管理方式具有如下特征:1) 一次性。要求将作业全部装入内存后方能运行。许多作业在每次运行时,并非其全部程序和数据都要用到。如果一次性地装入其全部程序,造成内存空间的浪费。2) 驻留性。作业装入内存后,便一直驻留在内存中,直至作业运行结束。尽管运行中的进程会因I/O而长期等待,或有的程序模块在运行过一次后就不再需要(运行)了,但它们都仍将继续占用宝贵的内存资源。

2014-08-07 10:40:12 3808

原创 11.Windows内存管理的方式

Windows中的内存分为两类:物理内存即实际内存,实存储器。虚拟内存: 用硬盘空间做内存来弥补计算机RAM空间的缺乏。虚拟内存可行性的理论基础:1、进程中的所有内存访问地址都是逻辑地址,这些逻辑地址在运行时动态的被转换为物理地址,这意味着一个进程可以被换入或唤出内存,使得进程可以执行过程中的不同时刻占据内存中的不同区域。2、一个进程可以划分成许多块,在执行过程中,这些

2014-08-07 10:16:14 1401

转载 10.进程调度算法

一、先来先服务和短作业(进程)优先调度算法1. 先来先服务调度算法。先来先服务(FCFS)调度算法是一种最简单的调度算法,该算法既可用于作业调度, 也可用于进程调度。FCFS算法比较有利于长作业(进程),而不利于短作业(进程)。由此可知,本算法适合于CPU繁忙型作业, 而不利于I/O繁忙型的作业(进程)。2. 短作业(进程)优先调度算法。短作业(进程)优先调度算法(SJ/PF)是指

2014-08-07 10:13:58 1253

原创 9.死锁的概念、导致死锁的原因,导致死锁的四个必要条件,预防死锁的方法、避免死锁的方法

可以把死锁定义为一组相互竞争系统资源或进行通信的进程间的“永久”阻塞。当一组进程中的每个进程都在等待某个事件(典型的情况是等待所请求的资源释放),而只有在这组进程中的其他被阻塞的进程才可以触发该事件,这时就称这组进程发生死锁。因为没有事件能够被触发,所以死锁是永久性的。产生死锁的原因主要是:1) 因为系统资源不足。2) 进程运行推进的顺序不合适。3)

2014-08-07 09:54:12 8514

转载 8.内存池、进程池、线程池

首先介绍一个概念“池化技术 ”。池化技术 一言以蔽之就是:提前保存大量的资源,以备不时之需以及重复使用。池化技术应用广泛,如内存池,线程池,连接池等等。内存池相关的内容,建议看看Apache、Nginx等开源web服务器的内存池实现。     由于在实际应用当做,分配内存、创建进程、线程都会设计到一些系统调用,系统调用需要导致程序从用户态切换到内核态,是非常耗时的操作。因此,当程序中需

2014-08-07 09:50:54 1540

转载 7.用户栈和内核栈

操作系统中,每个进程会有两个栈,一个用户栈,存在于用户空间,一个内核栈,存在于内核空间。当进程在用户空间运行时,cpu堆栈指针寄存器里面的内容是用户堆栈地址,使用用户栈;当进程在内核空间时,cpu堆栈指针寄存器里面的内容是内核栈空间地址,使用内核栈。     内核栈是内存中属于操作系统空间的一块区域,其主要用途为:1)保存中断现场,对于嵌套中断,被中断程序的现场信息依次压入系统栈,

2014-08-07 09:49:59 1128

转载 6.用户态和内核态的区别

内核态与用户态是操作系统的两种运行级别,当程序运行在3级特权级上时,就可以称之为运行在用户态,因为这是最低特权级,是普通的用户进程运行的特权级,大部分用户直接面对的程序都是运行在用户态;反之,当程序运行在0级特权级上时,就可以称之为运行在内核态。运行在用户态下的程序不能直接访问操作系统内核数据结构和程序。当我们在系统中执行一个程序时,大部分时间是运行在用户态下的,在其需要操作系统帮助完成某些它没有

2014-08-07 09:45:00 3373 1

原创 5. 线程的实现方式

进程的概念包含两个特点:

2014-08-07 09:38:17 1365

原创 3. 进程同步的几种方式

1、信号量     用于进程间传递信号的一个整数值。在信号量上只有三种操作可以进行:初始化,递减和增加,这三种操作都是原子操作。递减操作可以用于阻塞一个进程,增加操作可以用于解除阻塞一个进程。     基本原理是两个或多个进程可以通过简单的信号进行合作,一个进程可以被迫在某一位置停止,直到它接收到一个特定的信号。该信号即为信号量s。为通过信号量s传送信号,进程可执行原语semSignal(

2014-08-06 16:36:03 4898

转载 4. 线程同步几种方式

线程同步的方式主要有以下四种:临界区(Critical Section)、互斥量(Mutex)、信号量(Semaphore)、事件(Event)的区别。他们的主要区别和特点如下:1)临界区:通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。在任意时刻只允许一个线程对共享资源进行访问,如果有多个线程试图访问公共资源,那么在有一个线程进入后,其他试图访问公共资源的

2014-08-06 16:35:40 2157

转载 2. 进程与线程的区别

进程可以认为是程序执行时的一个实例。进程是系统进行资源分配的独立实体, 且每个进程拥有独立的地址空间。一个进程无法直接访问另一个进程的变量和数据结构, 如果希望让一个进程访问另一个进程的资源,需要使用进程间通信,比如:管道,文件, 套接字等。一个进程可以拥有多个线程,每个线程使用其所属进程的栈空间。 线程与进程的一个主要区别是,同一进程内的多个线程会共享部分状态, 多个线程可以读写同一块内存(

2014-08-06 16:29:03 1663 1

转载 1. 进程的有哪几种状态,状态转换图,及导致转换的事件

如上图所示,进程包括三种状态:就绪态、运行态和阻塞态。详细说明如下:注意:创建和退出不是进程的状态。阻塞和就绪的区别:阻塞是等待除CPU以外的资源,而就绪等待的是CPU资源。1)就绪——执行:对就绪状态的进程,当进程调度程序按一种选定的策略从中选中一个就绪进程,为之分配了处理机后,该进程便由就绪状态变为执行状态;2)执行——阻塞:正在执行的进程因发生某等

2014-08-06 16:25:40 39105 1

转载 操作系统面试大纲

1. 进程的有哪几种状态,状态转换图,及导致转换的事件。2. 进程与线程的区别。3. 进程通信的几种方式。4. 线程同步几种方式。(一定要会写生产者、消费者问题,完全消化理解)5. 线程的实现方式. (也就是用户线程与内核线程的区别)6. 用户态和核心态的区别。7. 用户栈和内核栈的区别。8. 内存池、进程池、线程池。(c++程序员必须掌握)9. 死锁的概念,导致死

2014-08-06 16:17:08 1067

原创 1、系统重构的基本概念,基本方法,作用

系统重构的几种定义:它是一套严谨而安全的过程方法,它通过一系列行之有效的方法与措施,保证软件在优化的同时,不会引入新的BUG,保证软件改造的质量。系统重构,就是在不改变软件的外部行为的基础上,改变软件内部的结构,使其更加易于阅读、易于维护和易于变更。由定义可知,系统重构不会改变软件的外部行为,即保证系统中的每个接口与改造前是等价的,其输入输出在改造前后是一致的。系统重构

2014-08-06 16:13:05 3652

原创 29、TFTP 与 FTP的区别

FTP(File Transfer Protocol,文件传输协议)协议在TCP/IP协议族中属于应用层协议,用于在远端服务器和本地客户端之间传输文件,使用TCP端口20和21进行传输。端口20用于传输数据,端口21用于传输控制消息。TFTP(Trivial File Transfer Protocol,简单文件传输协议)也是用于在远端服务器和本地主机之间传输文件的,相对于FTP,TFTP没有

2014-05-17 11:01:37 1943

原创 26.滑动窗口协议 与停止等待协议的区别

滑动窗口协议中,允许发送方发送多个分组(当有多个分组可用时)而不需等待确认,但它受限于在流水线 中为未确认的分组数不能超过某个最大允许数N。滑动窗口协议是TCP使用的一种流量控制方法,此协议能够加速数据的传输。 只有在接收窗口向前滑动时(与此同时也发送了确认),发送窗口才有可能向前滑动。收发两端的窗口按照以上规律不断地向前滑动,因此这种协议称为滑动窗口协议。当发送窗口和接收窗口的大小都等于

2014-05-17 10:53:23 7369

原创 25. 为什么客户端在TIME-WAIT状态必须等待2MSL的时间?

1)为了保证客户端发送的最后一个ACK报文段能够达到服务器。 这个ACK报文段可能丢失,因而使处在LAST-ACK状态的服务器收不到确认。服务器会超时重传FIN+ACK报文段,客户端就能在2MSL时间内收到这个重传的FIN+ACK报文段,接着客户端重传一次确认,重启计时器。最好,客户端和服务器都正常进入到CLOSED状态。如果客户端在TIME-WAIT状态不等待一段时间,而是再发送完ACK报文后立

2014-05-17 10:38:50 2985

原创 23、三次握手,四次断开过程

在TCP连接建立过程中要解决以下3个问题:(1)要使每一方能够确知对方的存在(2)要允许双方协商一些参数(如最大窗口值,是否使用窗口扩大选项和时间戳选项以及服务质量)(3)能够对运输实体资源(如缓存大小、连接表中的项目等)进行分配TCP连接的建立采用客户服务器方式。主动发起连接建立的应用进程是客户,而被动等待连接建立的应用进程是服务器。三次握手

2014-05-17 10:19:21 1274

原创 22、TCP 报文的格式,字段的意义

TCP报文段分为首部和数据两部分。     TCP报文段首部的前20个字节是固定的,后面有4N字节是根据需要而增加的选项(N是整数)。因此TCP首部的最小长度是20字节。首部固定部分各字段的意义如下:源端口和目的端口:各占2个字节,分别写入源端口号和目的端口号。序号:占4个字节。序号使用mod运算。TCP是面向字节流的,在一个TCP连接中传送的字节流中的每一个字

2014-05-03 12:21:24 19585

原创 21、UDP报文的格式,字段的意义

1、UDP有两个字段:数据字段和首部字段。首部字段首部字段很简单,只有8个字节,由4个字段组成,每个字段的长度都是两个字节。1)源端口:源端口号。在需要对方回信时选用。不需要时可用全0。2)目的端口:目的端口号。这在终点交付报文时必须要使用到。3)长度: UDP用户数据报的长度,其最小值是8(仅有首部)。4)校验和:检测UDP用户数据报在传输中是

2014-05-03 10:38:52 7832

原创 20、TCP与UDP的概念,相互的区别及优劣

1、TCP(Transmission Control Protocol)的概念     TCP是一种面向连接的,提供可靠交付服务和全双工通信的,基于字节流的端到端的传输层通信协议。TCP在传输数据之前必须先建立连接,数据传输结束后要释放连接。每一条TCP连接只能有2个端点,故TCP不提供广播或多播服务。TCP提供可靠交付,通过TCP连接传输的数据,无差错、不丢失、不重复、并且按序到

2014-04-27 22:17:42 3382

原创 格式化除法

实现函数e the function FormattedDivision(num1,num2) take both parameters being passed, divide num1 by num2, and return the result as a string with properly formatted commas and 4 signifi

2014-04-27 13:47:10 938

原创 19、DNS的概念,用途,DNS查询的实现算法

1、DNS的概念,用途     DNS是由解析器以及域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。DNS使用TCP与UDP端口号都是53,主要使用UDP,服务器之间备份使用TCP。     域名到IP地址的解析过程的要点如下:当某一个应用进程需要主机名解析为IP地址时,该应用进程就调用解析程序,并成为DNS的一个客户,把

2014-04-21 19:40:56 3158

protues第三方元件库

protues的第三方元件库,蛮有用,很全面,有libary,model

2010-06-19

空空如也

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

TA关注的人

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