?? da01.htm
字號:
tab-stops:45.0pt'><span lang=EN-US style='mso-bidi-font-size:10.5pt'>5</span><span
style='mso-bidi-font-size:10.5pt;font-family:宋體;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>.評價好的算法有四個方面。一是算法的正確性;二是算法的易讀性;三是算法的健壯性;四是算法的時空效率(運行)。</span><span
lang=EN-US style='mso-bidi-font-size:10.5pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:22.8pt;mso-para-margin-left:2.0gd;
tab-stops:45.0pt'><span lang=EN-US style='mso-bidi-font-size:10.5pt'>6</span><span
style='mso-bidi-font-size:10.5pt;font-family:宋體;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>.(</span><span lang=EN-US
style='mso-bidi-font-size:10.5pt'>1</span><span style='mso-bidi-font-size:10.5pt;
font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>)見上面題</span><span lang=EN-US style='mso-bidi-font-size:10.5pt'>3<span
style='mso-spacerun:yes'> </span></span><span style='mso-bidi-font-size:
10.5pt;font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>(</span><span lang=EN-US style='mso-bidi-font-size:10.5pt'>2</span><span
style='mso-bidi-font-size:10.5pt;font-family:宋體;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>)見上面題</span><span lang=EN-US
style='mso-bidi-font-size:10.5pt'>4<span style='mso-spacerun:yes'>
</span></span><span style='mso-bidi-font-size:10.5pt;font-family:宋體;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>(</span><span
lang=EN-US style='mso-bidi-font-size:10.5pt'>3</span><span style='mso-bidi-font-size:
10.5pt;font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>)見上面題</span><span lang=EN-US style='mso-bidi-font-size:10.5pt'>3<o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.05pt;text-indent:-.05pt;tab-stops:45.0pt'><span
lang=EN-US style='mso-bidi-font-size:10.5pt'><span
style='mso-spacerun:yes'> </span></span><span style='mso-bidi-font-size:
10.5pt;font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>(</span><span lang=EN-US style='mso-bidi-font-size:10.5pt'>4</span><span
style='mso-bidi-font-size:10.5pt;font-family:宋體;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>)算法的時間復雜性是算法輸入規模的函數。算法的輸入規模或問題的規模是作為該算法輸入的數據所含數據元素的數目,或與此數目有關的其它參數。有時考慮算法在最壞情況下的時間復雜度或平均時間復雜度。</span><span
lang=EN-US style='mso-bidi-font-size:10.5pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.05pt;text-indent:-.05pt;tab-stops:45.0pt'><span
lang=EN-US style='mso-bidi-font-size:10.5pt'><span
style='mso-spacerun:yes'> </span></span><span style='mso-bidi-font-size:
10.5pt;font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>(</span><span lang=EN-US style='mso-bidi-font-size:10.5pt'>5</span><span
style='mso-bidi-font-size:10.5pt;font-family:宋體;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>)算法是對特定問題求解步驟的描述,是指令的有限序列,其中每一條指令表示一個或多個操作。算法具有五個重要特性:有窮性、確定性、可行性、輸入和輸出。</span><span
lang=EN-US style='mso-bidi-font-size:10.5pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:.05pt;text-indent:-.05pt;tab-stops:45.0pt'><span
lang=EN-US style='mso-bidi-font-size:10.5pt'><span
style='mso-spacerun:yes'> </span></span><span style='mso-bidi-font-size:
10.5pt;font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>(</span><span lang=EN-US style='mso-bidi-font-size:10.5pt'>6</span><span
style='mso-bidi-font-size:10.5pt;font-family:宋體;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>)頻度。在分析算法時間復雜度時,有時需要估算基本操作的原操作,它是執行次數最多的一個操作,該操作重復執行的次數稱為頻度。</span><span
lang=EN-US style='mso-bidi-font-size:10.5pt'><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:22.8pt;mso-para-margin-left:2.0gd;
tab-stops:45.0pt'><span lang=EN-US style='mso-bidi-font-size:10.5pt'>7</span><span
style='mso-bidi-font-size:10.5pt;font-family:宋體;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>.</span><span style='mso-bidi-font-size:
10.5pt;font-family:宋體'>集合、線性結構、樹形結構、圖形或網狀結構。<span lang=EN-US><span
style='mso-spacerun:yes'> </span>8</span>.邏輯結構、存儲結構、操作(運算)。<span
lang=EN-US><o:p></o:p></span></span></p>
<p class=MsoNormal style='text-indent:22.8pt;mso-char-indent-count:2.0;
tab-stops:45.0pt'><span lang=EN-US style='mso-bidi-font-size:10.5pt;font-family:
宋體'>9</span><span style='mso-bidi-font-size:10.5pt;font-family:宋體'>.通常考慮算法所需要的存儲空間量和算法所需要的時間量。后者又涉及到四方面:程序運行時所需輸入的數據總量,對源程序進行編譯所需時間,計算機執行每條指令所需時間和程序中指令重復執行的次數。<span
lang=EN-US><o:p></o:p></span></span></p>
<p class=MsoNormal style='text-indent:22.8pt;mso-char-indent-count:2.0;
tab-stops:45.0pt'><span lang=EN-US style='mso-bidi-font-size:10.5pt;font-family:
宋體'>10</span><span style='mso-bidi-font-size:10.5pt;font-family:宋體'>.<span
lang=EN-US>D</span>是數據元素的有限集合,<span lang=EN-US>S</span>是<span lang=EN-US>D</span>上數據元素之間關系的有限集合。<span
lang=EN-US><o:p></o:p></span></span></p>
<p class=MsoNormal style='text-indent:22.8pt;mso-char-indent-count:2.0'><span
lang=EN-US style='mso-bidi-font-size:10.5pt;font-family:宋體'>11</span><span
style='mso-bidi-font-size:10.5pt;font-family:宋體'>.</span><span
style='mso-bidi-font-size:10.5pt;font-family:宋體;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>“數據結構”這一術語有兩種含義,一是作為一門課程的名稱;二是作為一個科學的概念。作為科學概念,目前尚無公認定義,一般認為,討論數據結構要包括三個方面,一是數據的邏輯結構,二是數據的存儲結構,三是對數據進行的操作(運算)。</span><span
style='mso-bidi-font-size:10.5pt;font-family:宋體'>而數據類型是值的集合和操作的集合,可以看作是已實現了的數據結構,后者是前者的一種簡化情況。<span
lang=EN-US><o:p></o:p></span></span></p>
<p class=MsoNormal style='text-indent:22.8pt;mso-char-indent-count:2.0;
tab-stops:45.0pt'><span lang=EN-US style='mso-bidi-font-size:10.5pt;font-family:
宋體'>12</span><span style='mso-bidi-font-size:10.5pt;font-family:宋體'>.見上面題<span
lang=EN-US>2</span>。<span lang=EN-US><o:p></o:p></span></span></p>
<p class=MsoNormal style='text-indent:22.8pt;mso-char-indent-count:2.0;
tab-stops:45.0pt'><span lang=EN-US style='mso-bidi-font-size:10.5pt;font-family:
宋體'>13</span><span style='mso-bidi-font-size:10.5pt;font-family:宋體'>.將學號、姓名、平均成績看成一個記錄(元素,含三個數據項),將<span
lang=EN-US>100</span>個這樣的記錄存于數組中。因一般無增刪操作,故<span style='color:red'>宜采</span>用順序存儲。<span
lang=EN-US><o:p></o:p></span></span></p>
<p class=MsoNormal style='margin-left:22.8pt;text-indent:-22.8pt;mso-char-indent-count:
-2.0;tab-stops:45.0pt'><span lang=EN-US style='mso-bidi-font-size:10.5pt;
font-family:宋體'><span
style='mso-spacerun:yes'>
</span><b style='mso-bidi-font-weight:normal'>typedef</b> <b style='mso-bidi-font-weight:
normal'><span style='mso-spacerun:yes'> </span>struct</b><o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:22.8pt;text-indent:-22.8pt;mso-char-indent-count:
-2.0;tab-stops:45.0pt'><span lang=EN-US style='mso-bidi-font-size:10.5pt;
font-family:宋體'><span
style='mso-spacerun:yes'>
</span>{<b style='mso-bidi-font-weight:normal'>int</b> num;//</span><span
style='mso-bidi-font-size:10.5pt;font-family:宋體'>學號<span lang=EN-US><o:p></o:p></span></span></p>
<p class=MsoNormal style='margin-left:22.8pt;text-indent:-22.8pt;mso-char-indent-count:
-2.0;tab-stops:45.0pt'><span lang=EN-US style='mso-bidi-font-size:10.5pt;
font-family:宋體'><span
style='mso-spacerun:yes'>
</span><b style='mso-bidi-font-weight:normal'>char</b> name[8];//</span><span
style='mso-bidi-font-size:10.5pt;font-family:宋體'>姓名<span lang=EN-US><o:p></o:p></span></span></p>
<p class=MsoNormal style='margin-left:22.8pt;text-indent:-22.8pt;mso-char-indent-count:
-2.0;tab-stops:45.0pt'><span lang=EN-US style='mso-bidi-font-size:10.5pt;
font-family:宋體'><span
style='mso-spacerun:yes'>
</span><b style='mso-bidi-font-weight:normal'>float</b> score;/</span><span
style='mso-bidi-font-size:10.5pt;font-family:宋體'>平均成績<span lang=EN-US><o:p></o:p></span></span></p>
<p class=MsoNormal style='margin-left:22.8pt;text-indent:-22.8pt;mso-char-indent-count:
-2.0;tab-stops:45.0pt'><span lang=EN-US style='mso-bidi-font-size:10.5pt;
font-family:宋體'><span style='mso-spacerun:yes'> </span><span
style='mso-spacerun:yes'> </span>}node</span><span
style='mso-bidi-font-size:10.5pt;font-family:宋體'>;<span lang=EN-US><o:p></o:p></span></span></p>
<p class=MsoNormal style='margin-left:22.8pt;text-indent:-22.8pt;mso-char-indent-count:
-2.0;tab-stops:45.0pt'><span lang=EN-US style='mso-bidi-font-size:10.5pt;
font-family:宋體'><span
style='mso-spacerun:yes'>
</span><span style='mso-spacerun:yes'> </span><span
style='mso-spacerun:yes'> </span>node student[100];<o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:22.8pt;mso-para-margin-left:2.0gd;
tab-stops:45.0pt'><span lang=EN-US style='mso-bidi-font-size:10.5pt;font-family:
宋體'>14. </span><span style='mso-bidi-font-size:10.5pt;font-family:宋體'>見上面題<span
lang=EN-US>4</span>(<span lang=EN-US>3</span>)。<span lang=EN-US><o:p></o:p></span></span></p>
<p class=MsoNormal style='text-indent:22.8pt;mso-char-indent-count:2.0;
tab-stops:45.0pt'><span lang=EN-US style='mso-bidi-font-size:10.5pt;font-family:
宋體'>15</span><span style='mso-bidi-font-size:10.5pt;font-family:宋體'>.應從兩方面進行討論:如通訊錄較少變動(如城市私人電話號碼),主要用于查詢,以順序存儲較方便,既能順序查找也可隨機查找;若通訊錄經常有增刪操作,用鏈式存儲結構較為合適,將每個人的情況作為一個元素(即一個結點存放一個人),設姓名作關鍵字,鏈表安排成有序表,這樣可提高查詢速度。<span
lang=EN-US><o:p></o:p></span></span></p>
<p class=MsoNormal style='text-indent:22.8pt;mso-char-indent-count:2.0;
tab-stops:45.0pt'><span lang=EN-US style='mso-bidi-font-size:10.5pt;font-family:
宋體'>16</span><span style='mso-bidi-font-size:10.5pt;font-family:宋體'>.線性表中的插入、刪除操作,在順序存儲方式下平均移動近一半的元素,時間復雜度為<span
lang=EN-US>O</span>(<span lang=EN-US>n</span>);而在鏈式存儲方式下,插入和刪除時間復雜度都是<span
lang=EN-US>O</span>(<span lang=EN-US>1</span>)。<span lang=EN-US><o:p></o:p></span></span></p>
<p class=MsoNormal style='margin-left:22.8pt;mso-para-margin-left:2.0gd;
tab-stops:45.0pt'><span lang=EN-US style='mso-bidi-font-size:10.5pt;font-family:
宋體'>17</span><span style='mso-bidi-font-size:10.5pt;font-family:宋體'>.對算法<span
lang=EN-US>A1</span>和<span lang=EN-US>A2</span>的時間復雜度<span lang=EN-US>T1</span>和<span
lang=EN-US>T2</span>取對數,得<span lang=EN-US>nlog<sup>2</sup></span>和<span
lang=EN-US>2log<sup>n</sup></span>。顯然,算法<span lang=EN-US>A2</span>好于<span
lang=EN-US>A1</span>。<span lang=EN-US><o:p></o:p></span></span></p>
<p class=MsoNormal style='margin-left:22.8pt;mso-para-margin-left:2.0gd;
tab-stops:45.0pt'><span lang=EN-US style='mso-bidi-font-size:10.5pt;font-family:
宋體'>18. <b style='mso-bidi-font-weight:normal'>struct</b> node<o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:22.8pt;mso-para-margin-left:2.0gd;
tab-stops:45.0pt'><span lang=EN-US style='mso-bidi-font-size:10.5pt;font-family:
宋體'><span style='mso-spacerun:yes'> </span>{<b
style='mso-bidi-font-weight:normal'>int</b> year,month,day; };<o:p></o:p></span></p>
<p class=MsoNormal style='margin-left:22.8pt;mso-para-margin-left:2.0gd;
tab-stops:45.0pt'><span lang=EN-US style='mso-bidi-font-size:10.5pt;font-family:
宋體'><span style='mso-spacerun:yes'> </span><b
style='mso-bidi-font-weight:normal'>typedef struct<o:p></o:p></b></span></p>
<p class=MsoNormal style='margin-left:22.8pt;mso-para-margin-left:2.0gd;
tab-stops:45.0pt'><span lang=EN-US style='mso-bidi-font-size:10.5pt;font-family:
宋體'><span style='mso-spacerun:yes'> </span>{<b
style='mso-bidi-font-weight:normal'>int</b> num;//</span><span
style='mso-bidi-font-size:10.5pt;font-family:宋體'>帳號<span lang=EN-US><o:p></o:p></span></span></p>
<p class=MsoNormal style='margin-left:22.8pt;mso-para-margin-left:2.0gd;
tab-stops:45.0pt'><span lang=EN-US style='mso-bidi-font-size:10.5pt;font-family:
宋體'><span style='mso-spacerun:yes'> </span><b
style='mso-bidi-font-weight:normal'>char</b> name[8];//</span><span
style='mso-bidi-font-size:10.5pt;font-family:宋體'>姓名<span lang=EN-US><o:p></o:p></span></span></p>
<p class=MsoNormal style='margin-left:22.8pt;mso-para-margin-left:2.0gd;
tab-stops:45.0pt'><span lang=EN-US style='mso-bidi-font-size:10.5pt;font-family:
宋體'><span style='mso-spacerun:yes'> </span><b
style='mso-bidi-font-weight:normal'>struct </b>node date;//</span><span
style='mso-bidi-font-size:10.5pt;font-family:宋體'>開戶年月日<span lang=EN-US><o:p></o:p></span></span></p>
<p class=MsoNormal style='margin-left:22.8pt;mso-para-margin-left:2.0gd;
tab-stops:45.0pt'><span lang=EN-US style='mso-bidi-font-size:10.5pt;font-family:
宋體'><span style='mso-spacerun:yes'> </span><b
style='mso-bidi-font-weight:normal'>int</b> tag;//</span><span
style='mso-bidi-font-size:10.5pt;font-family:宋體'>儲蓄類型,如:<span lang=EN-US>0- </span>零存,<span
lang=EN-US>1- </span>一年定期……<span lang=EN-US><o:p></o:p></span></span></p>
<p class=MsoNormal style='margin-left:22.8pt;mso-para-margin-left:2.0gd;
tab-stops:45.0pt'><span lang=EN-US style='mso-bidi-font-size:10.5pt;font-family:
宋體'><span style='mso-spacerun:yes'> </span><b
style='mso-bidi-font-weight:normal'>float</b> put;//</span><span
style='mso-bidi-font-size:10.5pt;font-family:宋體'>存入累加數;<span lang=EN-US><o:p></o:p></span></span></p>
<p class=MsoNormal style='margin-left:22.8pt;mso-para-margin-left:2.0gd;
tab-stops:45.0pt'><span lang=EN-US style='mso-bidi-font-size:10.5pt;font-family:
宋體'><span style='mso-spacerun:yes'> </span><b
style='mso-bidi-font-weight:normal'><span
style='mso-spacerun:yes'> </span>float</b> interest;//</span><span
style='mso-bidi-font-size:10.5pt;font-family:宋體'>利息<span lang=EN-US><o:p></o:p></span></span></p>
<p class=MsoNormal style='margin-left:22.8pt;mso-para-margin-left:2.0gd;
tab-stops:45.0pt'><span lang=EN-US style='mso-bidi-font-size:10.5pt;font-family:
宋體'><span style='mso-spacerun:yes'> </span><b
style='mso-bidi-font-weight:normal'><span
style='mso-spacerun:yes'> </span>float</b> total;//</span><span
style='mso-bidi-font-size:10.5pt;font-family:宋體'>帳面總數<span lang=EN-US><o:p></o:p></span></span></p>
<p class=MsoNormal style='margin-left:22.8pt;mso-para-margin-left:2.0gd;
tab-stops:45.0pt 91.2pt'><span lang=EN-US style='mso-bidi-font-size:10.5pt;
font-fa
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -