知识大全 数据结构考研分类复习真题 第二章 答案[27]
Posted 元素
篇首语:如果不想在世界上虚度一生,那就要学习一辈子。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 数据结构考研分类复习真题 第二章 答案[27]相关的知识,希望对你有一定的参考价值。
类似本题的选了 个题 其解答如下
( )与上面第 题不同的是 这里要求以an为参考元素 将线性表分成左右两部分 左半部分的元素都小于等于an 右半部分的元素都大于an an位于分界位置上 其算法主要片段语句如下:
i= ;j=n; t=a[n];∥暂存参考元素 while(i<j) while(i<j && a[i]<=t) i++;∥当前元素不大于参考元素时 指针i后移 if(i<j) a[j ]=a[i];∥将大于参考元素的元素后移 while(i<j && a[j]>t) j ;∥当前元素大于参考元素时指针前移 if(i<j) a[i++]=a[j];∥将小于参考元素的当前元素前移 a[i]=t;∥参考元素置于分界位置
( ) [题目分析]本题要求将线性表A分成B和C两个表 表B和表C不另占空间 而是利用表A的空间 其算法与第 题相同 这里仅把表B和表C另设空间的算法解答如下
void Rearrange (int A[] B[] C[])∥线性表A有n个整型元素 顺序存储 本算法将A拆成B和C 两个表 B中存放大于等于零的元素 C中存放小于零的元素 i= ;∥i j k是工作指针 分别指向A B和C表的当前元素 j=k= ;∥j k初始化为 while(i<n) if(A[i]< ) C[++k]=A[i++];∥将小于零的元素放入C表 else B[++j]=A[i++];∥将大于零的元素放入B表
cha138/Article/program/sjjg/201311/23344相关参考
intMaxValue(inta[]intn)//设整数序列存于数组a中共有n个本算法求解其最大值 if(n==)max=a[]; elseifa[n]>MaxValue(an)max=
第章 线性表答案 一.选择题 ABCADDDCBBCIIEBCBCCCAAADCBDCBBAD 二.判断题 ×√√××××××××××√×√ 部分答案解释如下 头结点并不仅起
()算法A的功能是逆置广义表p(即广义表由p指针所指)逆置后的广义表由t指向 ()逆置后的广义表由t指向这时p=nil (ab) &n
知识大全 数据结构考研分类复习真题 第六章 答案 (五)[27]
[题目分析]叶子结点只有在遍历中才能知道这里使用中序递归遍历设置前驱结点指针pre初始为空第一个叶子结点由指针head指向遍历到叶子结点时就将它前驱的rchild指针指向它最后叶子结点的rchil
.()la () &
设归并路数为k归并趟数为s则s=élogkù因élogkù=所以k=即最少路归并 证明由置换选择排序思想第一个归并段中第一个元素是缓冲区中最小的元素以后每选一个元素都不应小于前一个选出的元素故当
.[题目分析]本题所用数据结构是静态双向链表其结构定义为 typedef struct node char data[maxsize];∥用户姓名maxsize是
知识大全 数据结构考研分类复习真题 第六章 答案 (四)[27]
后序线索树中结点的后继要么是其右线索(当结点的rtag=时)要么是其双亲结点右子树中最左下的叶子结点所以只有当二叉树只有根或树中任一结点均无右子树时进行遍历才不用栈其遍历程序段如下 while(
()voidCreatOut()∥建立有n个单词的单向链表重复单词只在链表中保留一个最后输出频度最高的k个单词 LinkedListla; la=(LinkedList)malloc(size
.[题目分析]在递增有序的线性表中删除数值相同的元素要知道被删除元素结点的前驱结点 LinkedListDelSame(LinkedListla) ∥la是递增有序的单链表本算法去掉数值相同的