पेड़ की गहराई और ऊँचाई में क्या अंतर है?


262

यह एल्गोरिदम सिद्धांत से एक सरल प्रश्न है।
उनके बीच का अंतर यह है कि एक मामले में आप नोड्स की संख्या और जड़ और कंक्रीट नोड के बीच कम से कम रास्ते में अन्य संख्याओं की गिनती करते हैं।
कौन सा क्या है?


78
युक्ति: शब्दावली के बीच भ्रम से बचने के लिए: 1. ऊँचाई: किसी व्यक्ति की ऊंचाई को मापने की कल्पना करें, हम इसे पैर की अंगुली से सिर तक (पत्ती से जड़ तक) करते हैं। 2. गहराई: समुद्र की गहराई मापने की कल्पना करें, हम इसे पृथ्वी की सतह से लेकर समुद्र तल तक (पत्ती की जड़) तक करते हैं।
यश

@ यश यह एक बेहतरीन उपमा है।
स्पेशल कैरेक्टर

1
@Yesh उत्कृष्ट सादृश्य पर जोड़ने के लिए: पेड़ के मध्य में कुछ आंतरिक नोड के लिए, यह गहराई है कि यह रूट नोड के नीचे कितने स्तरों पर है, और यह ऊंचाई है कि यह अपने सबसे निचले बाल नोड के ऊपर के स्तर के बराबर है।
थॉमस गुयेन

जवाबों:


662

मैंने जाना कि गहराई और ऊंचाई एक नोड के गुण हैं :

  • एक नोड की गहराई नोड से पेड़ की जड़ नोड तक किनारों की संख्या है।
    एक रूट नोड में 0 की गहराई होगी।

  • नोड की ऊंचाई नोड से एक पत्ती तक सबसे लंबे मार्ग पर किनारों की संख्या है ।
    एक लीफ नोड की ऊंचाई 0 होगी।

एक पेड़ के गुण :

  • ऊंचाई एक पेड़ के अपने रूट नोड की ऊंचाई, होगा
    या समतुल्य अपनी गहरी नोड की गहराई।

  • व्यास (या चौड़ाई एक पेड़ के) की संख्या है नोड्स किसी भी दो पत्ती नोड्स के बीच सबसे लंबे समय तक पथ पर। नीचे के पेड़ का व्यास 6 नोड्स है।

एक पेड़, प्रत्येक नोड की ऊंचाई और गहराई के साथ


20
+1 यहाँ से उसी सामग्री के साथ उद्धरण जोड़ने वाला था: en.wikipedia.org/wiki/Tree_%28data_structure%29
Péter Török

2
इसका मतलब है कि ऊँचाई == अधिकतम गहराई
रोटरवेलर

6
@rkm_Hodor: हां, एक पेड़ की ऊंचाई हमेशा सबसे गहरी नोड की गहराई के बराबर होती है ।
डैनियल एए पल्सेमेकर

1
क्या आप कृपया अपने दावे के लिए एक स्रोत का हवाला दे सकते हैं कि एक पेड़ का व्यास किनारों के बजाय नोड्स को गिनता है? यह ग्राफ के व्यास की सामान्य परिभाषा के साथ संघर्ष करता है (उदाहरण के लिए देखें en.wikipedia.org/wiki/Distance_(graph_theory ) जो सबसे लंबा रास्ता पूछता है।
j_random_hacker

1
@j_random_hacker यह परिभाषा की बात है, जो आपके लिए सबसे उपयोगी है। किनारों की संख्या से कोने की संख्या से प्राप्त करने के लिए, बस घटाएं 1. मैं कोने की संख्या को गिनना पसंद करता हूं, क्योंकि इसके परिणामस्वरूप ग्राफ में केवल 1 नोड की चौड़ाई 1 है, और खाली ग्राफ चौड़ाई 0. मैथवर्ल्ड है। wolfram.com/GraphDiameter.html
डैनियल एए पल्सेमेकर

44

एक पेड़ की ऊंचाई और गहराई बराबर है ...

लेकिन एक नोड की ऊंचाई और गहराई समान नहीं है क्योंकि ...

ऊंचाई की गणना दी गई नोड से गहरी संभव पत्ती तक ट्रेस करके की जाती है।

गहराई की गणना रूट से दी गई नोड से ट्रावेल से की जाती है .....


4
"ऊँचाई की गणना पत्ती से दिए गए नोड से ट्रेस करके की जाती है" यह सही नहीं है, पत्ती वह होनी चाहिए जो दिए गए नोड के सभी पत्तों में सबसे गहरी हो।
ताकतवर जुऑ

14

कॉर्मेन एट अल के अनुसार। एल्गोरिदम का परिचय (परिशिष्ट B.5.3), एक पेड़ T में नोड X की गहराई को T के X के मूल नोड से सरल पथ (किनारों की संख्या) की लंबाई के रूप में परिभाषित किया गया है। एक नोड Y की ऊंचाई है पत्ती से वाई तक सबसे लंबे सरल पथ पर किनारों की संख्या । एक पेड़ की ऊंचाई को उसके मूल नोड की ऊंचाई के रूप में परिभाषित किया गया है।

ध्यान दें कि एक सरल पथ दोहराए जाने वाले कोने के बिना एक पथ है।

एक की ऊंचाई पेड़ एक की अधिकतम गहराई के बराबर है पेड़ । एक नोड की गहराई और एक नोड की ऊंचाई जरूरी नहीं के बराबर है। कॉर्मेन एट अल के तीसरे संस्करण का चित्र बी देखें। इन अवधारणाओं के चित्रण के लिए।

मैंने कभी-कभी समस्याओं को किनारों के बजाय नोड्स (कोने) गिनने के लिए कहा है, इसलिए स्पष्टीकरण के लिए पूछें कि क्या आपको यकीन नहीं है कि आपको परीक्षा या नौकरी के लिए साक्षात्कार के दौरान नोड्स या किनारों की गणना करनी चाहिए।


क्या नोड्स और किनारों की गिनती में कोई अंतर है। लगता है दोनों एक ही परिणाम देंगे। अगर मैं ग़लत हूं तो मेरी गलती सुझाएं।
विन्थॉ मोंटेटिक

@ झाडू जड़ की गहराई 2 कैसे हो सकती है? यह या तो 0 है (यदि किनारों को माना जाता है) या 1 (यदि नोड्स माना जाता है)।
neowulf33

@ neowulf33, हां, मैं बहुत गलत हूं। रूट नोड की गहराई 0. होनी चाहिए। मैं लोगों को भ्रमित न करने के लिए अपनी टिप्पणी हटा दूंगा।
jdhao

2

सरल उत्तर:
गहराई:
1. पेड़ : जड़ नोड से पेड़ की पत्ती नोड तक किनारों / चाप की संख्या को वृक्ष की गहराई कहा जाता है।
2. नोड : रूट नोड से किनारों / आर्क की संख्या को उस नोड की गहराई कहा जाता है।


2

उन अवधारणा को समझने का एक और तरीका इस प्रकार है: गहराई: मूल स्थिति में एक क्षैतिज रेखा खींचना और इस रेखा को जमीन समझो। तो जड़ की गहराई 0 है, और इसके सभी बच्चे नीचे की ओर बढ़ते हैं, इसलिए प्रत्येक स्तर के नोड्स की वर्तमान गहराई + 1 है।

ऊँचाई: समान क्षैतिज रेखा लेकिन इस समय जमीन की स्थिति बाहरी नोड्स होती है, जो पेड़ की पत्ती और ऊपर की ओर गिना जाता है।


2

मैं इस पोस्ट को बनाना चाहता था क्योंकि मैं एक अंडरग्रेजुएट सीएस छात्र हूं और अधिक से अधिक हम ओपनडीएसए और अन्य ओपन सोर्स पाठ्यपुस्तकों का उपयोग करते हैं। ऐसा लगता है कि शीर्ष रेटेड उत्तर से लगता है कि जिस तरह से ऊंचाई और गहराई सिखाई जा रही है वह एक पीढ़ी से दूसरी पीढ़ी में बदल गई है, और मैं इसे पोस्ट कर रहा हूं ताकि हर कोई जानता हो कि यह विसंगति अब मौजूद है और उम्मीद है कि किसी भी तरह से कीड़े नहीं होंगे कार्यक्रमों! धन्यवाद।

से OpenDSA डेटा स्ट्रक्चर और algos किताब :

यदि n 1 , n 2 , ..., n k पेड़ में नोड्स का एक अनुक्रम है जैसे कि n i , 1 i = i <k के लिए n i +1 का जनक है , तो इस क्रम को n से एक पथ कहा जाता है 1 से एन के । पथ की लंबाई k of 1 है। यदि नोड R से नोड M तक का मार्ग है, तो R, M का पूर्वज है, और M, R का वंशज है। इस प्रकार, पेड़ के सभी नोड पेड़ की जड़ के वंशज हैं, जबकि जड़ पूर्वज है। सभी नोड्स के। वृक्ष में एक नोड M की गहराई, पेड़ की जड़ से M तक के मार्ग की लंबाई है। वृक्ष की ऊंचाई वृक्ष की सबसे गहरी नोड की गहराई से एक अधिक है।वृक्ष की गहराई d के सभी नोड्स स्तर d पर हैं। मूल स्तर 0 पर एकमात्र नोड है, और इसकी गहराई 0 है।

चित्र 7.2.1

चित्र 7.2.1: एक द्विआधारी वृक्ष। नोड ए जड़ है। नोड्स बी और सी ए के बच्चे हैं। नोड्स बी और डी मिलकर एक सबट्री बनाते हैं। नोड बी के दो बच्चे हैं: इसका बायां बच्चा खाली पेड़ है और इसका दायां बच्चा डी। नोड्स ए, सी, और ई जी नोड्स डी, ई और एफ के पूर्वज हैं और पेड़ का स्तर 2 बनाते हैं; नोड ए स्तर पर है 0. ए से सी से जी तक के किनारों को लंबाई का एक रास्ता बनता है 3. नोड्स डी, जी, एच, और मैं पत्ते हैं। नोड ए, बी, सी, ई और एफ आंतरिक नोड हैं। I की गहराई 3. इस पेड़ की ऊंचाई 4 है।


इसके लायक क्या है, इस लिंक पर परिभाषा को बदल दिया गया है: "पेड़ में एक नोड M की गहराई पेड़ की जड़ से M की ओर पथ की लंबाई है। एक पेड़ की ऊंचाई की गहराई है पेड़ में सबसे गहरा नोड। "
काया ३
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.