ǰλãҳ > 《数据结构与算法?清华)典型例题 - 百度文库
ѧϰر ӭ
6.3
һѡ
[6-1] ݽṹüϵĹ۵ԱʾΪһԪDS(DR)УD ( )ϣRD( )ϡ
A. 㷨 B. Ԫ C. ݲ D. ṹ A. B. ӳ C. 洢 Dϵ
ݽṹļʽ֪ΪB D [6-2] ݵijô洢ṹв( )
A˳洢ṹ BԽṹ C洢ṹ Dɢд洢ṹ ֻͨĴ洢˳洢ʽ洢洢 ɢд洢ɴ˿֪ΪB
[6-3] 㷨ָ( )߱( )ԡ
A㷽 B CIJ Dȷ Aִԡֲԡ Bִԡȷԡ Cȷԡԡȶ Dԡȶԡȫ
㷨ǶضⲽһָɵС ʣԡԡԡȷԡԺͿԡɴ˿֪ Ϊ٢B
[6-4] ijУxĸִֵƵΪ( ) for(i=0i for(j=0j x=x+l AO(2n) BO(n) CO(n2) DO(1bn) ִƵȼظִеĴ㷨ʱ临ӶĿ жxĸֵΪһѭѭ壬ѭѭnΣڲѭҲѭnΣ ȻִдΪnnn2Ρɴ˿֪ΪC [6-5] ݵĻλͨɸ ɣ ݵСλ ǻ⣬֪ʶΪݽṹظΪԪأ Ӧ [6-6] ݽṹĶ塣 ݽṹָԪ֮ϵݵ֯ʽݽṹͨ ݣֱݵṹݵĴ洢ṹ(ṹ)Щ 㡣üϵĹ۵ݽṹʾΪһԪDS(DR)УD ԪصϣRDϹϵϡ [6-7] ³εʱ临Ӷȡ for(i=0i x=x+1 // for(j=0j<2*nj++) // y++ // } ѧϰر ӭ ִƵָظִеĴһ㷨ִƵ֮˸㷨ʱ䡣ڱ㷨УٵִƵn+lڵִƵn۵ִƵn(2n+2)2n2-2nִܵƵn(2n+1)2n2+nóεʱ临ӶT(n)(n+1)+n+(2n2+2n)+(2n2+n)4n2+5n+1O(n2) ʵϣ㷨лظִеƵΪΪһѭڵ䡣УΪִƵΪ2n2+nˣ 㷨ʱ临ӶT(n)2n2+nO(n2) [6-8] ³εʱ临Ӷȡ i=1 while(i<=m) i=i*2 㷨Ļii*2ִƵΪT(n)У2T(n)n T(n)lbnO(lbn)ˣóεʱ临ӶΪO(lbn) ѧϰر ӭ 7.3 һѡ [7-1] ݽṹУʹüصݽ( )ṹһֲ( )洢ṹ洢Ա( )ңн( )ЧʱԱниòЧʸߡ A洢 B C D A˳ B״ Cʽ Dʽ A˳ Bַ C˳ַ D Aַ Bٲ C˳ D ǻΪCDAD [7-2] ߱ص( ) AɾҪƶԪ Bһ CԤռ Dռ䳤ȳ Աһ㣬ӵһݽһÿ 㡣ΪB [7-3] ͷĵheadΪյж( ) AheadNULL Bhead_>nextNULL Chead_>nexthead Dhead!NULL ڲͷĵheadУheadָһݽ㡣ձñûн 㣬headNULLʾõΪաΪA [7-4] ͷĵheadΪյж( ) AheadNULL Bhead>nextNULL Chead> nexthead Dhead!NULL ڴͷĵheadУheadָͷ㡣ձñֻͷ㣬head>nextNULLʾõΪաΪB [7-5] ͷѭheadУheadΪյж( ) AheadNULL Bhead>nextNULL Chead> nexthead Dhead!NULL ڴͷѭheadУheadָͷ㡣ձñֻͷ㣬head>nextheadʾõΪաΪC [7-6] Աʽ洢ʱ洢ַ( ) A Bֵַ CһDz D ʽ洢ö̬洢ַһ㲻ΪD [7-7] ˫* pǰ½*sIJΪ( ) Ap>prior=ss>next=pp>prior>next=ss>prior=p>prior Bp>prior=sp>prior>next=ss>next=ps>prior=p>prior Cs>next=ps>prior=p>priorpprior=sp>prior>next=s Ds>next=ps>prior=p>priorpprior>next=sp>prior=s ˫ * pǰ½ * sIJͼ7.12ʾͼΪ IJΪ˳ΪD ѧϰر ӭ ͼ7.12 ˫Ĺʾͼ (7-8) ijõIJһһɾһ㣬( )洢ʽʡʱ䡣 A B˫ Cͷָѭ Dβָѭ вɾһ㣬ڽָĸѡУ ֻѡDܴβָ뾭ٵĽĿҪIJɾ ΪD [7-9] Ա2nԪأ㷨( )ڵʵҪ˳ʵЧʸߡ AɾֵΪxԪ BһԪصĺһԪ C˳ǰkԪ DijԪصֵ ѡAڵϺ˳ʵֵʱ临ӶȶΪO(n)ҪƶԪأڵʵЧʸߡΪA (7-10) ڳΪn( )ϣɾһԪأ㷨ӶΪO(n) AֻбͷָIJͷѭ BֻβָIJͷѭ CֻбβָĴͷѭ DֻβָĴͷѭ ΪA㷨£ linklist * delfirst(linklist * h) { Linklist * ph while(p> next!h) //ҵβ pp>next p>next=h> next free(h) returnpһ>next //ͷָ } [7-11] ڵн * p * sָΪ ڵн * p * s * p ĺ̽Ϊ * s ĺ̽㣬 * s Ϊ * pĺ̽㡣ָΪs>nextp>nextp>nexts [7-12] Աʽ洢ṹУÿָĸɷΪ ָӷʽֿɷΪ Ϊѭͨ(ѭ) [7-13] ڵУҪɾijһָĽ㣬ҵý 㡣
92ƪĵ