数据结构(c语言) 《数据结构(C语言版)》
\u6570\u636e\u7ed3\u6784(c\u8bed\u8a00\u7248)\u548c\u6570\u636e\u7ed3\u6784\u533a\u522bC\u8bed\u8a00\u662f\u4e00\u79cd\u7f16\u7a0b\u7684\u8bed\u8a00\uff0c\u7f16\u7a0b\u7684\u8bed\u8a00\u6709\u5f88\u591a\u79cd\u3002
\u800c\u6570\u636e\u7ed3\u6784\u5219\u662f\u8bb2\u7684\u662f\u5173\u4e8e\u4e00\u4e9b\u6570\u636e\u7684\u7406\u8bba\u77e5\u8bc6\u3002
\u53ef\u4ee5\u8bf4\u4e0d\u7ba1\u4ec0\u4e48\u7f16\u7a0b\u8bed\u8a00\u90fd\u80fd\u7528\u5230\u6570\u636e\u7ed3\u6784\u7684\u77e5\u8bc6\uff0c\u6570\u636e\u7ed3\u6784\u662f\u7a0b\u5e8f\u8bbe\u8ba1\u57fa\u7840\u53c8\u6838\u5fc3\u7684\u77e5\u8bc6\u3002
\u53ef\u4ee5\u5c06c\u8bed\u8a00\u60f3\u8c61\u4e3a\u4e00\u79cd\u8bed\u8a00\uff0c\u90a3\u4e48\u6570\u636e\u7ed3\u6784\u5c31\u662f\u4e00\u79cd\u8bf4\u8bdd\u7684\u6280\u5de7\uff0c\u5982\u4f55\u8ba9\u4f60\u8bf4\u8bdd\u66f4\u7b80\u6d01\uff0c\u6709\u903b\u8f91\uff0c\u5bb9\u6613\u8ba9\u4eba\u542c\u61c2\uff0c\u8fd9\u8868\u8fbe\u6280\u5de7\u4e0d\u7ba1\u4f60\u7528\u4e2d\u6587\u6216\u8005ENGLISH\u90fd\u53ef\u4ee5\u7528\u4e0a\u3002
\u5f53\u7136\uff0c\u5982\u679c\u4f60\u60f3\u6210\u4e3a\u4e00\u4e2a\u4f18\u79c0\u7684\u7a0b\u5e8f\u8bbe\u8ba1\u4eba\u5458\uff0c\u6570\u636e\u7ed3\u6784\u662f\u5fc5\u987b\u638c\u63e1\u597d\u7684
\u4f60\u662f\u8bf4\u6e05\u534e\u5927\u5b66\u7684\u6559\u6750\u5417\uff1f\u4e25\u851a\u654f\u548c\u5434\u4f1f\u6c11\u7f16\u8457\u7684\u90a3\u672c\uff1f
\u8fd9\u672c\u4e66\u7684\u8bdd\u4f5c\u4e3a\u6559\u6750\u6574\u4f53\u8fd8\u4e0d\u9519\uff0c\u4f46\u662f\u5982\u679c\u81ea\u5b66\u7684\u8bdd\u5c31\u6bd4\u8f83\u67af\u71e5\u4e86\u3002
\u5176\u5b9e\u56fd\u5185\u6709\u5f88\u591a\u65b0\u51fa\u7684\u6570\u636e\u7ed3\u6784\u90fd\u4e0d\u9519,\u4e0d\u7ba1\u662f\u7528C++\u8fd8\u662fJAVA,\u8fd8\u662fC,\u6216\u8005\u5176\u4ed6\u8bed\u8a00\u63cf\u8ff0\u7684,\u611f\u89c9\u5f88\u591a\u90fd\u6bd4\u8fd9\u672c\u8981\u597d\u3002
\u5b66\u4e60\u6570\u636e\u7ed3\u6784\u7684\u8bdd\uff0c\u6211\u63a8\u8350\u770b\u300a\u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5\u5206\u6790 : C\u8bed\u8a00\u63cf\u8ff0\u300b\u8fd9\u672c\u4e66\uff0c\u4e2a\u4eba\u8ba4\u4e3a\u6bd4\u6e05\u534e\u5927\u5b66\u7684\u8fd9\u672c\u8bb2\u8ff0\u7684\u8981\u597d\u4e00\u4e9b~\u5f53\u7136\u4ec5\u4ec5\u662f\u4e2a\u4eba\u7acb\u573a\uff0c\u7ed9\u4e2a\u5efa\u8bae\u3002
① A. 数据元素 B. 计算方法 C. 逻辑存储 D. 数据映象
② A. 结构 B. 关系 C. 运算 D. 算法
2.数据结构被形式地定义为(K,R),其中K是 B 的有限集,R是K上的 A 有限集。
① A. 算法 B. 数据元素 C. 数据操作 D. 逻辑结构
② A. 操作 B. 映象 C. 存储 D. 关系
3.在数据结构中,从逻辑上可以把数据结构分成____C____。
A. 动态结构和静态结构 B. 紧凑结构和非紧凑结构
C. 线性结构和非线性结构 D. 内部结构和外部结构
4.算法分析的目的是 C ,算法分析的两个主要方面是 A 。
① A. 找出数据结构的合理性 B. 研究算法中的输入和输出的关系
C. 分析算法的效率以求改进 D. 分析算法的易懂性和文档性
② A. 空间复杂度和时间复杂度 B. 正确性和简单性
C. 可读性和文档性 D. 数据复杂性和程序复杂性
5.计算机算法指的是 C ,它必须具备输入、输出和 C 等5个特性。
① A. 计算方法 B. 排序方法
C. 解决问题的有限运算序列 D. 调度方法
② A. 可执行性、可移植性和可扩充性
B. 可行性、确定性和有穷性
C. 确定性、有穷性和稳定性
D. 易读性、稳定性和安全性
三、填空题
1.下面程序段的时间复杂度是___O(n*m)____。
For (i=0;i<n;i++)
For (j=0;j<m;j++)
A[i][j]=0;
2.下面程序段的时间复杂度是___O(n^(1/2))____。
i=s=0
While(s<n)
{
i++; /* i=i+1 */
s+=i; /* s=s+i */
}
3.下面程序段的时间复杂度是___O(n^2)____。
s=0;
for (i=0;i<n;i++)
for (j=0;j<n;j++)
s+=B[i][j];
sum=s;
4.下面程序段的时间复杂度是__O(log3 N)(注:对N取3的对数)_____。
i=1;
While (i<=n)
i=i*3;
1.数据结构是一门研究非数值计算的程序设计问题中计算机的 C 以及它们之间的 _ B 和运算等的学科。
① A. 数据元素 B. 计算方法 C. 逻辑存储 D. 数据映象
② A. 结构 B. 关系 C. 运算 D. 算法
2.数据结构被形式地定义为(K,R),其中K是 B 的有限集,R是K上的 A 有限集。
① A. 算法 B. 数据元素 C. 数据操作 D. 逻辑结构
② A. 操作 B. 映象 C. 存储 D. 关系
3.在数据结构中,从逻辑上可以把数据结构分成____B____。
A. 动态结构和静态结构 B. 紧凑结构和非紧凑结构
C. 线性结构和非线性结构 D. 内部结构和外部结构
4.算法分析的目的是 C ,算法分析的两个主要方面是 A 。
① A. 找出数据结构的合理性 B. 研究算法中的输入和输出的关系
C. 分析算法的效率以求改进 D. 分析算法的易懂性和文档性
② A. 空间复杂度和时间复杂度 B. 正确性和简单性
C. 可读性和文档性 D. 数据复杂性和程序复杂性
5.计算机算法指的是 C ,它必须具备输入、输出和 B 等5个特性。
① A. 计算方法 B. 排序方法
C. 解决问题的有限运算序列 D. 调度方法
② A. 可执行性、可移植性和可扩充性
B. 可行性、确定性和有穷性
C. 确定性、有穷性和稳定性
D. 易读性、稳定性和安全性
三、填空题
1.下面程序段的时间复杂度是__O(n*m)_____。
For (i=0;i<n;i++)
For (j=0;j<m;j++)
A[i][j]=0;
2.下面程序段的时间复杂度是___O(log n)____。
i=s=0
While(s<n)
{
i++; /* i=i+1 */
s+=i; /* s=s+i */
}
3.下面程序段的时间复杂度是___O(n^2)____。
s=0;
for (i=0;i<n;i++)
for (j=0;j<n;j++)
s+=B[i][j];
sum=s;
4.下面程序段的时间复杂度是___O(log n)____。
i=1;
While (i<=n)
i=i*3;
2.数据结构被形式地定义为(K,R),其中K是 B 的有限集,R是K上的D 有限集。
① A. 算法 B. 数据元素 C. 数据操作 D. 逻辑结构
② A. 操作 B. 映象 C. 存储 D. 关系
其它问题答案同何声洪答案
绛旓細C璇█鐨鏁版嵁缁撴瀯涓昏鏈夛細鏁扮粍銆佺粨鏋勪綋銆佽仈鍚堜綋銆佹灇涓剧被鍨嬨1. 鏁扮粍锛圓rray锛夛細鏁扮粍鏄竴绉嶇嚎鎬ф暟鎹粨鏋勶紝鐢ㄤ簬瀛樺偍鐩稿悓绫诲瀷鐨勫厓绱犮傚湪C璇█涓紝鏁扮粍鏄竴绉嶅熀鏈殑鏁版嵁缁撴瀯锛屽彲浠ョ敤鏉ュ瓨鍌ㄦ暣鏁般佸瓧绗︺佹诞鐐规暟绛夊绉嶆暟鎹被鍨嬨傛暟缁勭殑姣忎釜鍏冪礌閮藉彲浠ラ氳繃绱㈠紩杩涜璁块棶锛岀储寮曚粠0寮濮嬨傛暟缁勭殑澶у皬鏄浐瀹氱殑锛屼竴鏃﹀垱寤...
绛旓細C璇█鐨鏁版嵁缁撴瀯鍖呮嫭锛氭暟缁勩佺粨鏋勪綋锛坰truct锛夈佽仈鍚堜綋锛坲nion锛夈佹灇涓剧被鍨嬶紙enum锛夈1. 鏁扮粍锛圓rray锛: 鏁扮粍鏄竴绉嶇嚎鎬ф暟鎹粨鏋勶紝鐢ㄤ簬瀛樺偍鐩稿悓绫诲瀷鐨勫厓绱犮傚湪C璇█涓紝鏁扮粍鐨勫ぇ灏忔槸鍥哄畾鐨勶紝涓鏃﹀垱寤轰笉鑳芥敼鍙樸傛暟缁勫厓绱犲彲浠ラ氳繃绱㈠紩杩涜璁块棶锛岀储寮曚粠0寮濮嬨傛暟缁勫箍娉涘簲鐢ㄤ簬鍚勭绠楁硶鍜屾暟鎹搷浣溿2. 缁撴瀯浣擄紙...
绛旓細C璇█鏁版嵁缁撴瀯涓昏鏈夛細鏁扮粍銆佺粨鏋勪綋銆佽仈鍚堜綋銆佹灇涓剧被鍨嬨1. 鏁扮粍锛圓rray锛夛細鏁扮粍鏄竴绉嶇嚎鎬ф暟鎹粨鏋勶紝鐢ㄤ簬瀛樺偍鐩稿悓绫诲瀷鐨勫厓绱犻泦鍚堛傚湪C璇█涓紝鏁扮粍鏄竴绉嶅熀鏈殑鏁版嵁缁撴瀯锛屽彲浠ュ瓨鍌ㄦ暣鍨嬨佸瓧绗﹀瀷绛夌被鍨嬬殑鍏冪礌銆傛暟缁勪腑鐨勬瘡涓厓绱犻兘鍙互閫氳繃绱㈠紩杩涜璁块棶锛岀储寮曚粠0寮濮嬨2. 缁撴瀯浣擄紙Struct锛夛細缁撴瀯浣撴槸涓绉嶅彲...
绛旓細棣栧厛锛屽畠闃愯堪浜鏁版嵁缁撴瀯鐨勫熀鏈蹇碉紝鍖呮嫭鏁扮粍鍜岀煩闃电殑娣卞叆鐞嗚В銆傛帴鐫锛岃璁轰簡绾挎ц〃鐨勭粨鏋勪笌鎿嶄綔锛屼互鍙婃爤涓庨槦鍒楃殑鍘熺悊鍜屽簲鐢ㄣ傛繁鍏ュ墫鏋愪簡鏍戝拰浜屽弶鏍戠殑鏋勯犱笌閬嶅巻锛屼互鍙婂浘鐨勭悊璁哄拰绠楁硶銆傛帓搴忎笌鏌ユ壘鏄暟鎹粨鏋勭殑閲嶈閮ㄥ垎锛屼功涓姝よ繘琛屼簡璇﹀敖鐨勮瑙e拰鍏抽敭绠楁硶鐨勬紨绀恒傛澶栵紝鏈功杩樼壒鍒璁′簡涓板瘜鐨勪笂鏈哄疄楠岀幆...
绛旓細杩欐湰鏁版嵁缁撴瀯(C璇█鐗)鏁欐潗婧愪簬闀挎湡鐨勬暀瀛﹀疄璺碉紝鍐呭涓板瘜鍏ㄩ潰锛屾兜鐩栦簡鏁版嵁缁撴瀯鐨勫涓牳蹇冮鍩熴傚畠棣栧厛浠嬬粛浜嗘暟鎹粨鏋勭殑鍩烘湰姒傝堪锛屾帴鐫娣卞叆鎺㈣浜嗙嚎鎬ц〃銆佹爤鍜岄槦鍒椼佷覆銆佹暟缁勪笌骞夸箟琛ㄧ瓑鍩虹鐭ヨ瘑銆傚浜庝簩鍙夋爲銆佹爲涓庢.鏋椾互鍙婂浘鐨勫鐞嗭紝鏈功鍚屾牱缁欎簣浜嗚灏界殑璁茶В銆傚湪瀹炶返搴旂敤閮ㄥ垎锛屾湰涔︾壒鍒叧娉ㄦ煡鎵惧拰鎺掑簭绛夊叧閿...
绛旓細鈥鏁版嵁缁撴瀯鈥濆湪璁$畻鏈虹瀛︿腑鏄竴闂ㄧ患鍚堟х殑涓撲笟鍩虹璇俱傛暟鎹粨鏋勬槸浠嬩簬鏁板銆佽绠楁満纭欢鍜岃绠楁満杞欢涓夎呬箣闂寸殑涓闂ㄦ牳蹇冭绋嬨傛暟鎹粨鏋勮繖涓闂ㄨ鐨勫唴瀹逛笉浠呮槸涓鑸▼搴忚璁$殑鍩虹锛岃屼笖鏄璁″拰瀹炵幇缂栬瘧绋嬪簭銆佹搷浣滅郴缁熴佹暟鎹簱绯荤粺鍙婂叾瀹冪郴缁熺▼搴忕殑閲嶈鍩虹銆傝绠楁満鏄竴闂ㄧ爺绌剁敤璁$畻鏈鸿繘琛屼俊鎭〃绀哄拰澶勭悊鐨勭瀛︺傚湪...
绛旓細1銆佺嚎鎬鏁版嵁缁撴瀯 鍏冪礌涔嬮棿涓鑸瓨鍦ㄥ厓绱犱箣闂村瓨鍦ㄤ竴瀵逛竴鍏崇郴锛屾槸鏈甯哥敤鐨勪竴绫绘暟鎹粨鏋勶紝鍏稿瀷鐨勬湁锛氭暟缁勩佹爤銆侀槦鍒楀拰绾挎ц〃銆2銆佹爲褰㈢粨鏋 缁撶偣闂村叿鏈夊眰娆″叧绯伙紝姣忎竴灞傜殑涓涓粨鐐硅兘涓斿彧鑳藉拰涓婁竴灞傜殑涓涓粨鐐圭浉鍏筹紝浣嗗悓鏃跺彲浠ュ拰涓嬩竴灞傜殑澶氫釜缁撶偣鐩稿叧锛岀О涓“涓瀵瑰”鍏崇郴锛屽父瑙佺被鍨嬫湁锛氭爲銆佸爢銆...
绛旓細C璇█鐨鏁版嵁缁撴瀯鏄敤C 璇█鎻忚堪鏁版嵁缁撴瀯鐨勶紝涓昏鏈夐『搴忚〃锛堟槸鐢ㄦ暟缁勫疄鐜扮殑锛夛紝椤哄簭閾捐〃锛堣鐢ㄥ埌鎸囬拡锛夛紝涓诧紙灏辨槸C璇█涓殑瀛楃涓诧級锛屽爢鏍堛愰『搴忓爢鏍堬紙鐢ㄦ暟缁勫疄鐜帮級鍜岄摼鎺ュ爢鏍堬紙鐢ㄩ摼琛ㄥ疄鐜帮級銆戯紝鏍戯紙涓昏鏄浜屽弶鏍戯級锛屽浘锛屽啀灏辨槸鍐呮帓搴忥紝澶栨帓搴忥紝鏂囦欢鐨勬煡鎵俱傞摼琛紝浜屽弶鏍戯紝鍥炬槸鏈閲嶈鐨勩傚熀鏈氨鏄...
绛旓細涔熷彲浠ヨ鏁版嵁鐨勫瓨鍌ㄧ粨鏋勬槸閫昏緫缁撴瀯鍦ㄨ绠楁満瀛樺偍鍣ㄤ腑鐨勫疄鐜帮紝鍙堢О鐗╃悊缁撴瀯銆傛暟鎹殑瀛樺偍缁撴瀯鏄緷璧栦簬璁$畻鏈虹殑銆傚父瑙佺殑瀛樺偍缁撴瀯鏈夐『搴忓瓨鍌ㄧ粨鏋勩侀摼寮忓瓨鍌ㄧ粨鏋勭瓑銆傞氬父鎵璋撶殑鈥鏁版嵁缁撴瀯鈥濇槸鎸囨暟鎹殑閫昏緫缁撴瀯銆佹暟鎹殑瀛樺偍缁撴瀯浠ュ強瀹氫箟鍦ㄥ畠浠箣涓婄殑涓缁勮繍绠椼
绛旓細; node->rchild = BuildBTree(BT, n, 2*i+2); return node;}void PrintLevel(BiTreeNode * bt, int level, int l){ if(!bt) return; if(l < level) PrintLevel(bt->lchild, level,l+1); if(l == level) printf("%4d",...