PostgreSQL技術週刊第2期:用PostgreSQL解海盜分金問題
PostgreSQL(簡稱PG)的開發者們:
雲棲社群已有5000位PG開發者,釋出了3000+PG文章(文章列表),沉澱了700+的PG精品問答(問答列表)。
PostgreSQL技術週刊將會為大家介紹最新的PG技術與動態、預告活動、最熱問答、直播教程等,歡迎大家訂閱PostgreSQL技術週刊。
最新動態:
本文不談框架、不談架構,就談寫程式碼的那些事兒!後文始終圍繞一個問題的解決方案,不斷發現其中“重複”的程式碼,並提煉出“可重用”的抽象,持續“重構”。希望通過這個過程和大家分享一些發現重複程式碼和提煉可重用抽象的方法。
什麼是聚合?聚合就是把元素按照一定的規則分為不同的組,然後對各組元素進行計算。本文中就為大家分享了兩種PostgreSQL中的聚合演算法,GroupAggregatede 特點是在進行聚合之前先要將資料進行排序,然後進行聚合操作,而且出來的結果是有序的,而HashAggregate的特點是不需要進行排序,在組數值比較小的情況下是比GroupAggregate要快很多,但是需求的記憶體會比較多。
有一篇文章叫做《無往不利:用SQL解海盜分金的利益最大化問題》,其中講的就是在Oracle中用SQL解海盜分金問題,本文中就嘗試在PostgreSQL中解決該問題。這個問題是:有5個海盜分100個金幣,通過抓鬮決定了先後順序,依次提出分贓方案,需得半數以上(含自己)同意才能通過,否則提方案的海盜就會被處死。現要求為第一個海盜提供最佳方案。
推薦專家
專家:王健(雲棲社群暱稱canno)
目前在神州飛象做pg相關的運維工作,熱愛pg,正在學習pg核心的相關的程式碼,歡迎大家和我討論,一起共同成長
專家已經在社群釋出了11篇技術博文
最新技術分享:
關注專家個人賬號,掌握一手專家技術乾貨。
熱門問答
視訊回顧
更多交流溝通,請掃碼加入釘釘PostgreSQL技術進階群
相關文章
- PostgreSQL技術週刊第20期:PostgreSQL何以支援豐富的NoSQL特性?SQL
- PostgreSQL技術週刊第12期:PostgreSQL時空資料排程實踐SQL
- PostgreSQL技術週刊第9期:PostgreSQL11新特性解讀之新增非空預設值欄位不需要重寫表SQL
- [經典演算法]海盜分金問題sql求解(貪心演算法)演算法SQL
- Scala 技術週刊 | 第 24 期
- Scala 技術週刊 | 第 23 期
- Scala 技術週刊 | 第10期
- Scala 技術週刊 | 第 9 期
- Scala 技術週刊 | 第11期
- Scala 技術週刊 | 第 25 期
- Scala 技術週刊 | 第 22 期
- Scala 技術週刊 | 第 21 期
- Scala 技術週刊 | 第 19 期
- Scala 技術週刊 | 第 20 期
- Scala 技術週刊 | 第 18 期
- Scala 技術週刊 | 第 17 期
- Scala 技術週刊 | 第 3 期
- Scala 技術週刊 | 第 2 期
- Scala 技術週刊 | 第 1 期
- Scala 技術週刊 | 第 6 期
- Scala 技術週刊 | 第 5 期
- Scala 技術週刊 | 第 4 期
- Scala 技術週刊 | 第7期
- Scala 技術週刊 | 第 8 期
- Scala 技術週刊 | 第 27 期
- Scala 技術週刊 | 第 26 期
- Scala 技術週刊 | 第 28 期
- Scala 技術週刊 | 第 29 期
- Scala 技術週刊 | 第 16 期
- Scala 技術週刊 | 第 15 期
- Scala 技術週刊 | 第 14 期
- Scala 技術週刊 | 第12期
- Scala 技術週刊 | 第13期
- FCC 成都社群·技術週刊 第 14 期
- 解決IP盜用問題的三種技術手段 (轉)
- 技術前刊:PostgreSQL12 COPY和bulkloading提升SQL
- 視野修煉-技術週刊第59期
- 視野修煉-技術週刊第56期