php:樹形結構的演算法

來源:互聯網
上載者:User

  產品分類,多級的樹狀結構的論壇,郵件清單等許多地方我們都會遇到這樣的問題:如何儲存多級結構的資料?在PHP的應用中,提供後台資料存放區的通常是關係型資料庫,它能夠儲存大量的資料,提供高效的資料檢索和更新服務。然而關係型資料的基本形式是縱橫交錯的表,是一個平面的結構,如果要將多級樹狀結構儲存在關係型資料庫裡就需要進行合理的翻譯工作。接下來我會將自己的所見所聞和一些實用的經驗和大家探討一下。層級結構的資料儲存在平面的資料庫中基本上有兩種常用設計方法:毗鄰目錄模式(adjacency list model)預排序遍曆樹演算法(modified preorder tree traversal algorithm)我不是電腦專業的,也沒有學過什麼資料結構的東西,所以這兩個名字都是我自己按照字面的意思翻的,如果說錯了還請多多指教。  這兩個東西聽著好像很嚇人,其實非常容易理解。這裡我用一個簡單食品目錄作為我們的樣本資料。

  我們的資料結構是這樣的:

  Food

  |

  |---Fruit

  | |

  | |---Red

  | | |

  | | |--Cherry

  | |

  | |---Yellow

  | |

  | |--Banana

  |

  |---Meat

  |

  |--Beef

  |

  |--Pork

  為了照顧那些英文一塌糊塗的PHP愛好者

  Food:食物

  Fruit:水果

  Red:紅色

  Cherry:櫻桃

  Yellow:黃色

  Banana:香蕉

  Meat:肉類

  Beef:牛肉

  Pork:豬肉

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.