610 likes | 718 Vues
This chapter delves into the concept of Priority Queues, exploring their fundamental properties, including total order relations, key importance in sorting, and various implementation strategies. We examine comparison rules such as reflexive, antisymmetric, and transitive properties essential for maintaining a consistent order. You'll learn about the significance of finding the smallest key within a set of elements and how to implement Priority Queues using unsorted and sorted sequences. This comprehensive guide provides exercises aimed at enhancing your understanding and practical skills in working with Priority Queues.
E N D
Priority Queues • Ed. 2. and 3.: Chapter 7 – • Ed. 4.: Chapter 8 -
Priority Queues • (Chapter 7) • Priority Queue ADT • - Keys, Priorities, and Total order Relations • - Sorting with a Priority Queue • Priority Queue implementation • - Implementation with an unsorted sequence • - Implementation with a sorted sequence
We want a comparison rule that will never contradict itself. • This requires that the rule define a total order relation. • total order relation: • Reflexive property: k k. • Antisymmetric property: if k1 k2 and k2 k1 , then k1= k2. • Transitive property: if k1 k2 and k2 k3 , then k1 k3. • Examples: • Integers, real numbers, lexicographic order of character sequence.
v1 v2 if x2 - x1 = = x4 - x3 Then we have 4 - 1 = 7 - 4 Therefore, (1, 4) (4, 7) and (4, 7) (1, 4). But (1,4) (7, 4), namely, the relation does not satisfy the antisymmetric property.
If a comparison rule defines a total order relation, it will never lead to a comparison contradiction. the smallest key: If we have a finite number of elements with a total order relation, then the smallest key, denoted by kmin, is well-defined: kmin is the key that satisfies kmin k for any other key k. Being able to find the smallest key is very important because in many cases, we want to have the element with the smallest key.
O(n) O(n)
O(n) O(n2) O(n) O(n2) O(n2) O(n2)