क्या आप कभी कतार में खड़े हुए हैं, कतार डेटा संरचना भी यही काम करती है। जब आप शायद अपने पसंदीदा स्वयं सेवा रेस्तरां में ऑर्डर देना चाहते हैं तो आप पंक्ति के अंत में खड़े होते हैं और फिर आप कतार में आगे बढ़ते हैं और चले जाते हैं।
CS में कतार डेटा संरचना समान कार्यक्षमता निष्पादित करती है। कतार डेटा संरचना एक फर्स्ट इन फर्स्ट आउट डेटा संरचना है। क्यू डेटा संरचना को दो बुनियादी कार्यों एनक्यू और डेक्यू के साथ बनाया जा सकता है जो मूल रूप से सूची में जोड़ना और सूची से हटाना है।
कंप्यूटर विज्ञान की वास्तविक दुनिया में कतारें निम्नलिखित सॉफ़्टवेयर घटकों की रीढ़ बनती हैं
जबकि कल्पना करने में आसान एक घटक होगा
package main import ( "fmt" "errors" ) type Queue struct{ Elements []int Size int } func (q *Queue) Enqueue(value int){ if q.GetLength() == q.Size { fmt.Println("Overflow") return } q.Elements = append(q.Elements, value) } func (q *Queue) Dequeue() int { if q.IsEmpty() { fmt.Println("UnderFlow") return 0 } element := q.Elements[0] if q.GetLength() == 1 { q.Elements = nil return element } q.Elements = q.Elements[1:] return element } func (q *Queue) GetLength() int { return len(q.Elements) } func (q *Queue) IsEmpty() bool { return len(q.Elements) == 0 } func (q *Queue) Peek() (int, error) { if q.IsEmpty() { return 0, errors.New("empty queue") } return q.Elements[0], nil }
समय जटिलता - एनक्यू और डीक्यू के लिए ओ(1)
अंतरिक्ष जटिलता - एन्क्यू और डेक्यू के लिए O(1)
संदर्भ - https://www.geeksforgeeks.org/queue-in-go-भाषा/
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3