(zhn)现在的位置Q?/strong> 跨考网频道考研报名正文

数据l构W五章算法设计题[9]_跨考网

最后更新时_(d)(x)2011-11-22 13:38:16
辅导评Q?a target="_blank" rel="nofollow">暑期集训 在线咨询
复习(fn)紧张Q焦头烂额?逆风轻袭Q来跨考秋季集训营Q帮你寻Ҏ(gu)Q定Ҏ(gu)Q?/span> 了解一?>

1Q设Ln个整数存放于数组A(1:n)中,试编写程序,所有正数排在所有负数前面(要求法复杂性ؓ(f)0( n)Q?/span> ?a target="_blank">׃大学 1993 ?/span> (12?/span>)?/span>.

  cM本题的另外叙q有Q?/span>

  Q?/span>1Q已知数l?/span>A[1..n]的元素类型ؓ(f)整型Q设计算法调?/span>AQ其左边的所有元素小于零Q右边的所有元素大于等于零。(要求法的时间复杂度和空间复杂度均ؓ(f)0Q?/span>nQ)?a target="_blank">北京理工大学 2000 四?/span>1 Q?/span>4分)?/span>

  Q?/span>2Q设计一个算法,把整数数l中所有的偶数攑ֈ所有的奇数之前。要求时间、空间效率尽可能高。?a target="_blank">华南师范大学 1999 六?/span>1 (10?/span>)?/span>

  Q?/span>3Q设一pd正整数存攑֜一个数l中Q试设计法Q将所有奇数存攑֜数组的前半部分,所有的偶数存放在数l的后半部分。要求尽可能用临时存储单元q旉最。请试着分析你实现的法的时间复杂度和空间复杂度。?a target="_blank">南开大学 2000 三?/span>2?/span>

  Q?/span>4Q设计算法将数组A[1..n]调整为左右两部分Q的左Ҏ(gu)有的元素于双的所有元素,q给一划分的分界位|。要求算法的旉复度?/span>O(n)?/span> ?a target="_blank">合肥工业大学 2001 五?/span>3 Q?/span>8分)?/span>

  【参考答案?/span>

  [题目分析]本题属于排序问题Q只是排出正负,不排出大。可在数l首设两个指针i?/span>jQ?/span>i自小臛_搜烦到负数停止,j自大臛_搜烦到正数停止。然?/span>i?/span>j所指数据交换,l箋以上q程Q直?/span> i=j为止?/span>

  void Arrange(int A[],int n)

  //n个整数存于数l?/span>A中,本算法将数组中所有正数排在所有负数的前面

  {int i=0,j=n-1,x; //用类C~写Q数l下标从0开?/span>

  while(i<j)

  {while(i<j && A[i]>0) i++;

  while(i<j && A[j]<0) j--;

  if(i<j) {x=A[i]; A[i++]=A[j]; A[j--]=x; }//交换A[i] ?/span>A[j]

  }

}//Arrangel束.

[法讨论]Ҏ(gu)l中元素各比较一ơ,比较ơ数?/span>n。最x?/span>(已排?/span>,正数在前,负数在后)不发生交换,最差情?/span>(负数均在正数前面)发生n/2ơ交换。用c?/span>c~写Q数l界偶是0..n-1。空间复杂度?/span>O(1).

  cM本题的其它题的解{?/span>:Q?/span>

  Q?/span>1Q与上面12题同Q因要求I间复杂度也?/span>O(n)Q可另设一数组CQ对A数组从左到右扫描Q小于零的数?/span>C中从左(低下标)到右Q高下标Q存Q大于等于零的数?/span>C中从叛_左存?/span>

  Q?/span>2Q将12题中判定正数(A[i]>0)改ؓ(f)判偶?/span>(A[i]%2==0)Q将判负?/span>(A[j]<0)改ؓ(f)(A[j]%2!=0)?/span>

  Q?/span>3Q同Q?/span>2Q,只是要求奇数排在偶数之前?/span>

  Q?/span>4Q利用快速排序思想Q进行一划分?/span>

  int Partition(int A[],int n)

  //?/span>n个元素的数组A调整为左右两部分Q且左边所有元素小于右Ҏ(gu)有元素,q回分界位置?/span>

  {int i=0,j=n-1,rp=A[0]; //设数l元素ؓ(f)整型

  while(i<j)

  {while(i<j &&A[j]>=rp) j--;

  while(i<j &&A[i]<=rp) i++;

  if(i<j) { x=A[i];A[i]=A[j]; A[j]=x; }

  }

  A[i]=rp; return(i); //分界元素

  }// Partition

跨考考研评

班型 定向班型 开班时?/td> 高定?/td> 标准?/td> 评介绍 咨询
U季集训 冲刺?/td> 9.10-12.20 168000 24800?/td> 班面授+专业??+专业译֮向辅?协议加强评(高定?+专属规划{疑(高定?+_化答?复试资源(高定?+复试译֌(高定?+复试指导(高定?+复试班主?v1服务(高定?+复试面授密训(高定?+复试1v1(高定?
2023集训畅学 非定向(政英?数政qQ?/td> 每月20?/td> 22800?协议? 13800?/td> 先行阶在U课E?基础阶在U课E?强化阶在U课E?真题阶在U课E?冲刺阶在U课E?专业NҎ(gu)一对一评+班主dE督学服?全程规划体系+全程试体系+全程_化答?择校择专业能力定位体p?全年关键环节指导体系+初试加强?初试专属服务+复试全科标准班服?/td>

①凡本网注明“稿件来源:(x)跨考网”的所有文字、图片和韌频稿Ӟ版权均属北京学博教育咨询有限公司Q含本网和跨考网Q所有,M媒体、网站或个h未经本网协议授权不得转蝲、链接、{帖或以其他Q何方式复制、发表。已l本|协议授权的媒体、网站,在下载用时必须注明“稿件来源,跨考网”,q者本|将依法q究法律责Q?/p>

②本|未注明“稿件来源:(x)跨考网”的?囄Eg均ؓ(f)转蝲E,本网转蝲仅基于传递更多信息之目的Qƈ不意味着再通{载稿的观Ҏ(gu)证实其内容的真实性。如其他媒体、网站或个h从本|下载用,必须保留本网注明的“稿件来源”,q自负版权等法律责Q。如擅自改为“稿件来源:(x)跨考网”,本网依法追I法律责仅R?/p>

③如本网转蝲E涉?qing)版权等问题Q请作者见E后在两周内速来?sh)与跨考网联系Q电(sh)话:(x)400-883-2220