摘要:
ICMP报文有两种:ICMP差错报文和ICMP询问报文ICMP前4个字节:类型(8位)、代码(8位)、校验和(16位)常用ICMP类型:差错报文:3、重点不可达4、源点抑制5、改变路由11、时间超过12、参数问题询问报文:8或0:回送请求或回答13或14:时间戳请求或回答ICMP数据报的格式:提取I... 阅读全文
摘要:
计数排序假设n个输入元素中的每一个都是介于0到k之间的整数。其基本思想就是对每个输入元素x,确定小于x的元素个数。有了这一信息,就可以把x直接放到它在最终输出数组中的位置上。 1 #include 2 void countsort(int *A,int *B,int n,int k) 3 { 4... 阅读全文
摘要:
快速排序算法和合并排序算法一样,也是基于分治模式。对子数组A[p...r]快速排序的分治过程的三个步骤为:分解:把数组A[p...r]分为A[p...q-1]与A[q+1...r]两部分,其中A[p...q-1]中的每个元素都小于等于A[q]而A[q+1...r]中的每个元素都大于等于A[q];解决... 阅读全文
摘要:
希尔排序的实质就是分组插入排序,该方法又称缩小增量排序,因DL.Shell于1959年提出而得名。该方法的基本思想是:先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序(增量足够小)时,再对全体元素进行... 阅读全文
摘要:
先把代码贴了,有时间再写思路。。二叉树定义:binaryTree.h 1 #ifndef BINARYTREE_H 2 #define BINARYTREE_H 3 #include 4 #include "LinkedQueue.h" 5 6 template 7 class B... 阅读全文
摘要:
1、理想情况在一个使用有序链表描述的具有n个元素的字典中进行搜索,至多需要n次比较。如果在链中部节点加一个指针,则比较次数可以减少到n/2+1。搜索时,首先将要搜索的元素与中间节点进行比较,如果该元素较小,则仅需搜索链表的左半部分。否则,只需搜索又半部分。以上图为例,如果要搜索的数为26,则将26先... 阅读全文
摘要:
1、定义:字典(dictionary)是一些元素的结合。每个元素有一个称作key的域,不同元素的key各不相同。其抽象数据类型描述为:抽象数据类型Dictionary{实例: 具有不同关键字的元素组合操作: Create():创建一个空字典 Search(k,x):搜索关键字为k的元素 In... 阅读全文
摘要:
问题描述:考察一个机械厂,其中有 m 台一模一样的机器。现有 n 个作业需要处理,设作业 i 的处理时间为ti,这个时间为从将作业放入机器直到从机器上取下作业的时间。所谓调度(s c h e d u l e)是指按作业在机器上的运行时间对作业进行分配,使得:• 一台机器在同一时间内只能处理一个作业。... 阅读全文
摘要:
堆是一种优先队列的实现。堆是一颗完全二叉树,所谓完全二叉树就是除了最后一层以外,其他层都是满的,而且最后一层所缺的叶结点都在右边。在完全二叉树中,节点的序列号有如下关系:特性4:设完全二叉树中一元素的序号为i,11,则该元素父节点为i/2(向下取整)当2*i>n时,该元素无左孩子。否则,其左孩子为2... 阅读全文
摘要:
队列是先进先出的线性表,顾名思义,优先队列则是元素有优先级的队列,出列的顺序由元素的优先级决定。从优先队列中删除元素是根据优先权的高低次序,而不是元素进入队列的次序。优先队列的典型应用是机器调度等。假设我们对机器服务进行收费。每个用户每次使用机器所付费用都是相同的,但每个用户所需要服务时间都不同。为... 阅读全文