मैंने हाल ही में एमआईटी के 6.006 व्याख्यान को देखना शुरू कर दिया और पहले व्याख्यान में प्रशिक्षक ने पीक-एल्गोरिदम प्रस्तुत किया।पीक खोज एल्गोरिदम
उसकी परिभाषाओं के अनुसार:
को देखते हुए एक सरणी [क, ख, ग, डी, ई, एफ, जी] जहां एजी नंबर दिए गए हैं, ख एक चोटी है अगर और केवल अगर < = बी और बी> = सी।
वह एक पुनरावर्ती दृष्टिकोण दिया:
if a[n/2] < a[n/2 -1] then look for a peak from a[1] ... a[n/2 -1]
else if a[n/2] < a[n/2+1] then look for a peak from a[n/2+1] ... a[n]
else a[n/2] is a peak
उन्होंने कहा कि एल्गोरिथ्म टी (एन) = टी (एन/2) + ओ (1) = ओ (LGN)
में है उनके पीडीएफ उन्होंने एक पूर्ण उदाहरण भी दिया: [6,7,4,3,2,1,4,5]
दोनों 7 और 5 चोटियों हैं। लेकिन उपरोक्त एल्गोरिदम केवल 7 को चोटी के रूप में नहीं पाता है क्योंकि मध्य तत्व पहली शाखा को संतुष्ट करता है?
तो अगर हमें सभी चोटियों को ढूंढना था, तो क्या हम अभी भी पूरी सरणी के माध्यम से चलेंगे? क्या इसका मतलब सबसे खराब मामला होगा?
क्या उसकी परिभाषा का तात्पर्य है कि हमें केवल एक चोटी को खोजने की ज़रूरत है?
मुझे विश्वास है कि इस समस्या को एल्गोरिदम पुस्तक के रिवरस्ट के परिचय में अधिकतम और न्यूनतम तत्व ढूंढने के रूप में देखा जा सकता है।
नहीं, मूल परिभाषा बिल्कुल ठीक है। शिखर एक स्थानीय अधिकतम –