数据结构中树的孩子表示法与二叉树的链表是什么关系 简述树与它转化的二叉树(孩子兄弟表示法)的关系,并说明转化后...

\u6570\u636e\u7ed3\u6784\uff0c\u4e8c\u53c9\u6811\u904d\u5386\uff0c\u5b69\u5b50\u5144\u5f1f\u8868\u793a\u6cd5\uff0c\u7b97\u6cd5\u8bbe\u8ba1\u9898

\u5bf9\u4e8e\u4e00\u822c\u7684\u5bb6\u8c31\u6811(\u4e00\u822c\u7684\u591a\u53c9\u6811)\u6765\u8bf4\uff0c\u6211\u4eec\u53ef\u4ee5\u5f88\u6e05\u695a\u7684\u770b\u51fa\u5c42\u6b21\u5173\u7cfb\uff0c\u6811\u7684\u5c42\u6570\u8868\u793a\u4ee3\u6570\uff08\u4e00\u5171\u591a\u5c11\u4ee3\u4eba\uff09\uff0c\u6811\u7684\u6700\u540e\u4e00\u5c42\u8868\u793a\u6700\u540e\u4e00\u4ee3\u4eba\uff0c\u7531\u4e8e\u591a\u53c9\u94fe\u8868\u6cd5\u8868\u793a\u7684\u4e0d\u65b9\u4fbf\uff0c\u56e0\u6b64\u88ab\u8feb\u65e0\u5948\u91c7\u7528\u5b69\u5b50\u5144\u5f1f\u8868\u793a\u6cd5(\u4e8c\u53c9\u94fe\u8868\u6cd5).
\u5047\u8bbe\u6211\u7684\u5bb6\u8c31\u662f\u8fd9\u6837\u7684\uff1a


\u8f6c\u6362\u6210\u5b69\u5b50\u5144\u5f1f\u8868\u793a\u6cd5\u540e\u662f\u8fd9\u6837\u7684\uff1a


\u6211\u4eec\u8981\u505a\u7684\u662f\uff1a\u8fd9\u65f6\u6211\u4eec\u8981\u627e\u6709\u591a\u5c11\u4ee3\u4eba\uff0c\u4ee5\u53ca\u6700\u540e\u4ee5\u4e00\u4ee3\u4eba\u51fa\u6765\u3002
\u5982\u679c\u6839\u636e\u7b2c\u4e00\u4e2a\u56fe\u6765\u8bf4\u627e\u4ee3\u6570\u5c31\u662f\u6811\u7684\u9ad8\u5ea6\uff0c\u6700\u540e\u4e00\u4ee3\u4eba\u5c31\u662f\u6811\u7684\u6700\u540e\u4e00\u5c42\uff0c\u4e8c\u53c9\u94fe\u8868\u6cd5\u4e2d\u5374\u4e0d\u5982\u7b2c\u4e00\u4e2a\u56fe\u6765\u7684\u76f4\u89c2\uff0c\u4f46\u662f\u53ea\u8981\u628a\u63e1\u4e8c\u53c9\u94fe\u8868\u6cd5\u7684\u672c\u8d28\u8fd8\u662f\u5f88\u6e05\u6670\u7684\uff0c\u6839\u636e\u5b69\u5b50\u5144\u5f1f\u8868\u793a\u6cd5\u7684\u7279\u6027\uff0c\uff08\u770b\u4e8c\u53c9\u94fe\u8868\u6cd5\u7684\u56fe\uff09\u7ed3\u70b93\u7684\u5de6\u5b50\u6811\u4fdd\u5b58\u7684\u662f\u5176\u5b69\u5b50\uff0c\u7ed3\u70b93\u7684\u53f3\u5b50\u6811\u4fdd\u5b58\u7684\u662f\u5176\u5802\u5144\u5f1f(\u5bf9\u7167\u7b2c\u4e00\u4e2a\u56fe\u6765\u770b)\u3002\u5047\u8bbe\u6211\u4eec\u6bcf\u4e00\u4e2a\u8282\u70b9\u90fd\u6709\u4e00\u4e2a\u53d8\u91cf\u7528\u6765\u5b58\u50a8\u5b83\u662f\u7b2c\u51e0\u4ee3\u7684\uff0c\u90a3\u4e48\u4ece\u7ed3\u70b91\u5f00\u59cb\uff0c\u6211\u4eec\u8981\u627e\u7ed3\u70b910\u662f\u7b2c\u51e0\u4ee3\u7684\u8bdd\uff0c\u5e94\u8be5\u8fd9\u4e48\u505a\uff1a\u7ed3\u70b91\u662f\u7b2c\u4e00\u4ee3\uff0c\u7136\u540e\u7ecf\u8fc7\u7ed3\u70b95\u662f\u7b2c\u4e8c\u888b\uff0c\u7136\u540e\u770b\u5230\u7ed3\u70b910\u662f\u7b2c\u4e09\u4ee3\u3002\u56e0\u4e3a\u7b2ci\u4e2a\u7ed3\u70b9\u7684\u5de6\u5b50\u6811\u662f\u4ed6\u7684\u5b69\u5b50\uff0c\u65e2\u7136\u662f\u5b69\u5b50\uff0c\u4ee3\u6570\u5fc5\u987b+1\uff0c\u800c\u53f3\u5b50\u6811\u662f\u548c\u7b2ci\u7ed3\u70b9\u540c\u8f88\u4efd\u7684\uff08\u5802\u5144\u5f1f\uff09\uff0c\u56e0\u6b64\u4e0d\u80fd\u52a01\u3002\u672c\u8d28\u6765\u8bf4\u5c31\u662f\u5f80\u5de6\u8d70\u4ee3\u6570+1\uff0c\u5411\u53f3\u8d70\u4ee3\u6570\u4e0d\u53d8\u3002\u8fd9\u5c31\u662f\u8fd9\u9898\u76ee\u7684\u601d\u8def\uff0c\u901a\u8fc7\u8fd9\u4e2a\u65b9\u6cd5\u4f60\u5c31\u53ef\u4ee5\u77e5\u9053\u6709\u591a\u5c11\u4ee3\u4eba\u4e86\uff0c\u4e14\u6bcf\u4e2a\u8282\u70b9\u90fd\u6709\u4fdd\u5b58\u4e86\u4ee3\u6570\u4fe1\u606f\uff08\u7528\u53d8\u91cf\u5b58\u8d77\u6765\u4e86\uff09\uff0c\u518d\u6b21\u904d\u5386\u6811\u628a\u6700\u540e\u4e00\u4ee3\u7684\u7ed3\u70b9\u8f93\u51fa\u5373\u53ef\u3002\u6e05\u6670\u4e86\u5417\uff1f\u6e05\u6670\u4e86\u6211\u5c31\u5f00\u59cb\u5199\u7a0b\u5e8f\u3002

1\u3001\u8f6c\u6362\u540e\u7684\u4e8c\u53c9\u6811\u6ca1\u6709\u53f3\u5b50\u6811
2\u3001\u539f\u6811\u4e2d\u53f6\u5b50\u5c31\u53d8\u6210\u4e86\u6ca1\u6709\u5de6\u5b50\u6811\u7684\u7ed3\u70b9\u4e86
3\u3001\u6811\u7684\u5148\u6839\u904d\u5386\u5c31\u548c\u8fd9\u4e2a\u4e8c\u53c9\u6811\u7684\u5148\u5e8f\u4e00\u6837
4\u3001\u6811\u7684\u540e\u6839\u904d\u5386\u5c31\u548c\u8fd9\u4e2a\u4e8c\u53c9\u6811\u7684\u4e2d\u5e8f\u4e00\u6837
\u8fd8\u6709\u4e00\u4e9b\u522b\u7684\u53ef\u4ee5\u6162\u6162\u63a8\u5bfc\u51fa\u6765

对于一般的家谱树(一般的多叉树)来说,我们可以很清楚的看出层次关系,树的层数表示代数(一共多少代人),树的最后一层表示最后一代人,由于多叉链表法表示的不方便,因此被迫无奈采用孩子兄弟表示法(二叉链表法).

假设我的家谱是这样的:

转换成孩子兄弟表示法后是这样的:

我们要做的是:这时我们要找有多少代人,以及最后以一代人出来。

如果根据第一个图来说找代数就是树的高度,最后一代人就是树的最后一层,二叉链表法中却不如第一个图来的直观,但是只要把握二叉链表法的本质还是很清晰的,根据孩子兄弟表示法的特性,(看二叉链表法的图)结点3的左子树保存的是其孩子,结点3的右子树保存的是其堂兄弟(对照第一个图来看)。假设我们每一个节点都有一个变量用来存储它是第几代的,那么从结点1开始,我们要找结点10是第几代的话,应该这么做:结点1是第一代,然后经过结点5是第二袋,然后看到结点10是第三代。因为第i个结点的左子树是他的孩子,既然是孩子,代数必须+1,而右子树是和第i结点同辈份的(堂兄弟),因此不能加1。本质来说就是往左走代数+1,向右走代数不变。这就是这题目的思路,通过这个方法你就可以知道有多少代人了,且每个节点都有保存了代数信息(用变量存起来了),再次遍历树把最后一代的结点输出即可。清晰了吗?清晰了我就开始写程序。



  • 鏁版嵁缁撴瀯鈥斺旀爲
    绛旓細姝ュ叆瀛樺偍缁撴瀯鐨勯鍩燂紝鏍戠殑琛ㄨ揪鏂瑰紡鍚勫紓銆傞鍏堬紝鍙屼翰瀛╁瓙琛ㄧず娉浠ュ崟閾捐〃鐨勫舰寮忚褰曟瘡涓粨鐐圭殑鍊硷紝閫氳繃鏁版嵁鍩熴佺埗姣嶆寚閽堝拰瀛╁瓙鎸囬拡鐨勫阀濡欑粍鍚堬紝灞曠幇浜嗘爲鐨勫眰娆$粨鏋勩浜屽弶鏍锛氶掑綊涓庡瓨鍌ㄤ簩鍙夋爲鏄爲鐨勪竴绉嶇壒娈婂舰鎬侊紝姣忎釜缁撶偣鏈澶氬彧鏈変袱涓瓙鏍戯紝宸﹀瓙鏍戝拰鍙冲瓙鏍戙傚父瑙佺殑浜屽弶鏍戠被鍨嬪鏂滄爲锛堢瓑鍚屼簬鍗曢摼琛級銆佹弧...
  • 瀛閾琛ㄧず娉琛ㄧず鍥涓殑鏍
    绛旓細瀛╁瓙閾捐〃琛ㄧず娉曟槸涓绉嶇敤浜庤〃绀烘爲鍨缁撴瀯鐨勬暟鎹〃绀烘硶锛岀壒鍒傜敤浜庤〃绀洪潪浜屽弶鏍戠殑鎯呭喌銆傚湪杩欑琛ㄧず娉曚腑锛屾瘡涓妭鐐归兘鏈変竴涓摼琛紝鐢ㄤ簬瀛樺偍瀹冪殑鎵鏈夊瀛愯妭鐐广傝繖涓摼琛ㄧО涓哄瀛愰摼琛ㄣ傚叿浣撴潵璇达紝瀛╁瓙閾捐〃琛ㄧず娉曚娇鐢ㄤ竴涓妭鐐规暟缁勫拰涓涓瀛愰摼琛ㄦ暟缁勬潵琛ㄧず鏍戙傝妭鐐规暟缁勪腑鐨勬瘡涓厓绱琛ㄧず鏍戜腑鐨勪竴涓妭鐐癸紝鍖呭惈鑺傜偣鐨...
  • 妫灄涓庝簩鍙夋爲鐨杞崲
    绛旓細灏嗘.鏋楄浆鎹㈡垚浜屽弶鏍戠殑鏂规硶涓涓妫垫爲杞崲鎴愪簩鍙夋爲鐨勬柟娉曠被浼硷紝鍙槸鎶婃.鏋椾腑鎵鏈夋爲鐨勬牴缁撶偣鐪嬩綔鍏勫紵鍏崇郴锛屽苟瀵瑰叾涓殑姣忔5鏍戜緷渚濆湴杩涜杞崲銆2 銆佷簩鍙夋爲杩樺師鎴愭爲鎴栨.鏋 杩欎釜杩囩▼瀹為檯涓婃槸鏍戙佹.鏋楄浆鎹㈡垚浜屽弶鏍戠殑閫嗚繃绋嬶紝鍗冲皢璇ヤ簩鍙夋爲鐪嬩綔鏄爲鎴栨.鏋鐨勫瀛鍏勫紵琛ㄧず娉銆傛瘮濡傦紝鑻ヤ簩鍙夋爲涓虹┖锛屾爲涔熶负绌猴紱鍚﹀垯...
  • 杩欐牱鐨勬爲鎬庝箞杞崲鎴浜屽弶鏍?
    绛旓細搴曚笅鏈塀CD涓変釜鐐硅繖涓簨瀹炲惂銆傜敱姝や骇鐢熶簡瀛╁瓙鍏勫紵琛ㄧず娉--鍗充换浣曟.鏋楁垨鏍戞寜鐓у乏瀛╁瓙涓虹涓涓疄闄呭瀛愶紝鍙堝瀛愪负璇ヨ妭鐐圭殑鍙充晶绗竴涓疄闄呭厔寮熺粨鐐圭殑鏂瑰紡琛ㄧず锛屽鏋滀粩缁嗘帹鏁茬殑璇濓紝杩欑鏂瑰紡鎭板ソ鑳藉鐢浜屽弶鏍戠殑褰㈠紡琛ㄧず鍘熸潵妫灄鎴栧鍙鏍戠殑缁撴瀯銆傛棰樼洰涓舰鎴愮殑浜屽弶鏍戜负 ...
  • 浠涔堟槸浜屽弶閾捐〃?
    绛旓細鏍戠殑浜屽弶閾捐〃瀹炵幇鏂瑰紡锛瀛╁瓙鍏勫紵琛ㄧず娉锛変互浜屽弶閾捐〃浣滀负鏍戠殑瀛樺偍缁撴瀯銆傞摼琛ㄤ腑缁撶偣鐨勪袱涓摼鍩熷垎鍒寚鍚戣缁撶偣鐨勭涓涓瀛愮粨鐐瑰拰涓嬩竴涓厔寮熺粨鐐广傜粨鏋勬弿杩颁负锛歵ypedef銆struct CSNode{ ElemType data锛泂truct CSNode *firstchild 锛 *netsibling锛泒 CSNode锛* CSTree锛涚敱浜浜屽弶鏍戠殑瀛樺偍缁撴瀯姣旇緝绠鍗曪紝澶勭悊...
  • 鐢浜屽弶閾捐〃瀛樺偍鏍,涓轰粈涔堟牴缁撶偣鐨勫彸鎸囬拡鏄┖,鏁版嵁缁撴瀯
    绛旓細閲囩敤浜屽弶鏍戠粨鏋瀛樺偍鏍戞垨妫灄锛屽嵆鏍/妫灄鐨勫乏瀛愬彸鍏琛ㄧず娉銆備簩鍙夋爲涓妭鐐圭殑宸︹瀛╁瓙鈥濇槸鍘熸爲/妫灄瀵瑰簲鑺傜偣鐨勨滈暱瀛愯妭鐐光濓紝鍙斥滃瀛愨濇槸鍘熸爲/妫灄瀵瑰簲鑺傜偣鐨勨滃厔寮熻妭鐐光濄傝鏍戠殑鏍硅妭鐐规槸娌℃湁鍏勫紵鐨勶紝鏁呭湪浜屽弶閾捐〃涓畠鐨勫彸鎸囬拡涓虹┖锛堬級
  • 涔濄鏁版嵁缁撴瀯-闈炵嚎-鏍
    绛旓細鏍戣浆鍖栦负浜屽弶鏍戠敤鐨勬槸瀛╁瓙鍏勫紵琛ㄧず娉锛屽嵆浜屽弶鏍戠粨鐐圭殑宸﹀瀛愪负鏍戠粨鐐圭殑绗竴涓瀛愶紝浜屽弶鏍戠粨鐐瑰彸瀛╁瓙涓烘爲缁撶偣鐨勭涓涓厔寮熴 缁撴瀯锛氱ず渚嬶細妫灄杞崲涓浜屽弶鏍戠殑姝ラ鏄細 锛1锛夊厛鎶婃瘡妫垫爲杞崲涓轰簩鍙夋爲锛 锛2锛夌涓妫典簩鍙夋爲涓嶅姩锛屼粠绗簩妫典簩鍙夋爲寮濮嬶紝渚濇鎶婂悗涓妫典簩鍙夋爲鐨勬牴缁撶偣浣滀负鍓嶄竴...
  • 鏁版嵁缁撴瀯--鏍戝拰妫灄
    绛旓細4銆 瀛╁瓙鍏勫紵琛ㄧず娉 杩欑鏂规硶鐨勭粨鏋浣撳寘鍚細姣忎釜缁撶偣鐨鏁版嵁锛屾寚鍚戣缁撶偣鐨勭涓涓瀛愮粨鐐圭殑鎸囬拡鍜屾寚鍚戜笅涓涓厔寮熺粨鐐圭殑鎸囬拡銆備笁銆 鏍戣浆鎹负浜屽弶鏍 绗竴姝ワ細鍦ㄦ爲涓墍鏈夊厔寮熺粨鐐归棿鍔犱竴鏉¤繛绾 绗洓姝ワ細璋冩暣浣嶇疆 浜斻 浜屽弶鏍戣浆鎹负鏍戙佹.鏋 涓冦 妫灄鐨勯亶鍘 妫灄鐨勯亶鍘嗗垎涓轰袱绉嶏細鍓嶅簭閬嶅巻鍜屼腑搴...
  • 鏁版嵁缁撴瀯涓,鍥句笌鏍,浜屽弶鏍姣旂嚎鎬ц〃鏈変粈涔堜紭鐐?
    绛旓細瀛╁瓙鑺傜偣 鍏勫紵鑺傜偣 锛堟敞鎰*鏍戜笉鑳戒负绌*** 鎵浠浜屽弶鏍涓嶆槸鏍戯級瀛樺偍锛 鍙屼翰琛ㄧず娉 瀛╁瓙琛ㄧず娉 瀛╁瓙鍏勫紵琛ㄧず娉曪級浜屽弶鏍戯細鏈夊乏鍙虫柟鍚戜箣鍒 鍙互涓虹┖ 锛屼簩鍙夋爲鍙互椤哄簭瀛樺偍锛堜富瑕佺敤浜庡畬鍏ㄤ簩鍙夋槸鏍戠殑瀛樺偍锛変篃鍙敤浜屽弶閾捐〃 涓夊弶閾捐〃 绱㈠紩琛 绾挎ц〃锛氱嚎鎬缁撴瀯 鍙互椤哄簭琛ㄧず 涔熷彲浠ョ敤閾捐〃琛ㄧず ...
  • 璇烽棶涓嬩笅闈㈣繖浜涘叧浜鏁版嵁缁撴瀯鐨棰樻庝箞鍋,璇风粰鍑哄叿浣撶殑瑙i杩囩▼
    绛旓細鐩存帴鎻掑叆鎺掑簭绗洓瓒熺粨鏋滐細25 35 45 48 48 78 52 绠鍗曢夋嫨鎺掑簭绗洓瓒熺粨鏋滐細25 35 45 48 48 78 52 2.瀛╁瓙鍏勫紵琛ㄧず娉锛氳浆鍖栨垚浜屽弶鏍锛3. 浜屽弶鎺掑簭鏍戯細4. 浜屽弶鏍戝強鍚庡簭閬嶅巻搴忓垪锛5.閭绘帴鐭╅樀锛氭櫘閲屽绠楁硶鐢熸垚鍥撅細鎴戞劅瑙夊簲璇ラ兘姝g‘锛岃垂浜嗘垜濂藉ぇ鐨勫姴鎵嶅紕涓婂幓锛屼竴瀹氶噰绾冲搱锛岃阿璋...
  • 扩展阅读:扫一扫题目出答案 ... 树这种数据结构的特点 ... 孩子兄弟表示法 ... 家庭结构对孩子的影响 ... 免费查自己家谱 ... 献给孩子们二之3曲式 ... 数的分类树状图 ... 数据结构判定树怎么画 ... 献给孩子们曲式结构图 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网