Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
courses:cs211:winter2011:journals:camille:chapter2 [2011/01/25 15:01] – [Section 4: A Survey of Common Running Times] cobbc | courses:cs211:winter2011:journals:camille:chapter2 [2011/01/31 02:47] (current) – [Section 1: Computational Tractability] cobbc | ||
---|---|---|---|
Line 12: | Line 12: | ||
Again, this section was very readable. I thought that they did a great job of explaining why we need the mathematical definition of efficiency and how we get to it. And I read this after our classes on t, and I think that was good for me, because I already knew what to expect. | Again, this section was very readable. I thought that they did a great job of explaining why we need the mathematical definition of efficiency and how we get to it. And I read this after our classes on t, and I think that was good for me, because I already knew what to expect. | ||
+ | * **Sara Says:** | ||
+ | "Wait I thought our algorithm for the stable matching problem took O(N^2) time?" --> Yes, | ||
+ | that's correct. | ||
+ | pairings (N!), find one that is stable and that's the solution." | ||
+ | Gale-Shapley is a more efficient algorithm. | ||
===== Section 2: Asymptotic Order of Growth ===== | ===== Section 2: Asymptotic Order of Growth ===== | ||
Line 54: | Line 59: | ||
* **Insights and Questions: | * **Insights and Questions: | ||
+ | I am really interested to see how some of these problems are solved in less time. Also, I am intrigued by the problems that can't be solved efficiently, | ||
* **Readability: | * **Readability: | ||
+ | I thought this section was great. The breakups into different asymptotic running times and the connections between the running times (ex. that the " | ||
===== Section 5: Priority Queues ===== | ===== Section 5: Priority Queues ===== | ||
* **Summary: | * **Summary: | ||
+ | Good algorithms are important to get efficient solutions, but sometimes you need more complex data structures in order to implement the algorithms efficiently (or make improvements to the algorithm). Some data structures are designed for specific problems, but some are more broadly applicable - like the priority queue, which is a data structure that "must perform some nontrivial processing each time it is invoked." | ||
* **Insights and Questions: | * **Insights and Questions: | ||
+ | Interesting distinction between arrays/ | ||
* **Readability: | * **Readability: | ||
+ | This section was a little harder to read than others. It flowed well, but the logic of jumping from arrays to priority queues to heaps wasn't quite as clear or as seamless as other sections or as clear as it was in class. I think that actually seeing someone do heapify-up/ |