网站大量收购闲置独家精品文档,联系QQ:2885784924

【精品】中国著名特级教师教学思想录30.ppt

  1. 1、本文档共56页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
【精品】中国著名特级教师教学思想录30

* * 图的邻接表描述 #define MAX_NUM 100 //顶点最大允许数量 struct AdjNode { //表结点类型定义 int adjvex; //该邻接点在数组中的位置 InfoType info; //该弧相关信息 struct AdjNode *next; //指向下一邻接点的指针 }; typedef struct VNode { //头结点类型定义 VertexType data; //顶点信息 AdjNode *first; //指向邻接表第一个结点 } AdjList[MAX_NUM]; * typedef struct { AdjList headArray; //头结点数组 int vexnum, arcnum; //图的当前顶点数和弧数 int kind; //图的种类标志 } ALGraph; 其中AdjNode为表结点,InfoType为与边相关信息的数据类型(可以包括权等)。VNode为头结点,VertexType是顶点的数据类型,MAX_NUM表示最多可以存放的顶点个数。 * 图的遍历方法 1.深度优先有哪些信誉好的足球投注网站 假定从图中某个顶点v 出发进行遍历,则首先访问此顶点,然后依次从v的各个未被访问的邻接点出发,执行深度优先有哪些信誉好的足球投注网站遍历,直至图中所有和v有路径相通的顶点都被访问到,若此时图中尚有顶点未被访问,则另选图中一个未曾被访问的顶点作起始点,重复上述过程,直至图中所有顶点都被访问到为止。 * 用非递归的方式描述如下:首先访问图中某一起始顶点v0,由v0出发,访问它的任一邻接点vi;再从vi出发,访问与vi邻接但还没有访问过的顶点vj;如此进行下去,直至到达某一顶点vt后,发现vt所有的邻接顶点都被访问过。于是从vt退到前一次刚访问过的顶点vs,看看vs是否还有其他没有被访问的邻接顶点。如果有则访问此顶点,之后再从此顶点出发,进行与前述类似的访问;如果没有,就再退回一步进行有哪些信誉好的足球投注网站。重复上述过程,直到连通图中所有顶点都被访问过为止。 * * bool visited[MAX]; //顶点访问标志数组 //从第v个顶点出发递归地深度优先遍历图G的 //某个连通子图 void DFS(ALGraph G, int v) { AdjNode *p; visited[v] = TRUE; coutv”被访问 ”; // 访问第v个顶点 // 对v的尚未访问的邻接顶点w递归调用DFS for(p=G.headArray[v].first; p!=NULL; p=p-next ) if(!visited[p-adjvex]) DFS(G,p-adjvex); } * 2.广度优先有哪些信誉好的足球投注网站 假定从图中某个顶点v 出发进行遍历,则首先访问此顶点,再依次访问v的所有未被访问过的邻接点,然后按这些顶点被访问的先后次序依次访问它们的邻接点,直至图中所有和v有路径相通的顶点都被访问到。若此时图中尚有顶点未被访问,则另选图中一个未曾被访问的顶点作起始点,重复上述过程,直至图中所有顶点都被访问到为止。 * 以图(a)为例,假设从A出发进行广度优先有哪些信誉好的足球投注网站,首先访问A,然后依次访问A的各个未被访问过的邻接顶点B、E、D,再分别从B、E、D出发,访问它们的所有还未被访问过的邻接顶点C、F、G。 * 为了实现逐层访问,广度优先有哪些信誉好的足球投注网站算法中使用了一个队列,以记忆正在访问的这一层和上一层的顶点,以便于向下一层访问。 A B E D C F G * 哈夫曼树和哈夫曼编码 设计二进制编码方案时要考虑不同字符的使用频率,使用频率高的字符编码应当尽量短一些。但是仅仅考虑使用频率也是不够的。 例如:某个文件由A、B、C、D四个字符组成,其中A用得最多,C次之。 方案1: A — 1 C — 0 B — 10 D — 11 那么象1100这样的二进制数据具有二义性,既代表AACC,又可代表ABC,还可代表DCC。 为了不使二进制编码具有二义性,每个字符编码都不能与其他字符编码的前面若干位重合。 * B D C A 0 0 1 1 A B 0 1 D C 0 0 1 1 (a)有二义性的编码系统对应的二叉树 (b)无二义性的编码系统对应的二叉树 任何一个无二义性的二进制字符编码系统必然与这样一颗二叉树对应,该二叉树的叶子结点对应着所有需要转换的字符,并且按照左分支代表0、右分支代表1的规则,从根到该叶子的分支对应的0、1序列就构成叶子对应字符的二进制编码。 可以利用二叉树分析字符编码问题。假设二叉树中的左分支代表0,

您可能关注的文档

文档评论(0)

bodkd + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档