長い間(20年以上)プログラミングをしなかった後、私はそれに戻ろうとしています。私の最初の本当の試みは、スクラブル/ Words With Friendsソルバー/チーターです(定義を選択してください)。私はかなり良いエンジンを作りました、しかしそれは効率または優雅さの代わりに力ずくで問題を解決します。多くの調査の結果、この問題に対する最善の答えはDAWGまたはCDWAGであることがかなり明らかです。そこでいくつかのC実装を見つけ、それらを活用することができました(同じデータセットの検索時間は1.5秒から.005秒になりました)。
しかし、私は純粋なObjective-Cでこれを行う方法を理解しようとしています。それで、私もそれをARCに準拠させようとしています。そして、iPhoneには十分効率的です。私はかなり調べて、そこにいくつかのデータ構造ライブラリ(つまりCHDataStructures)を見つけましたが、それらはほとんどC / Objective-Cハイブリッドであるか、ARCに準拠していません。それらは構造体に非常に大きく依存しており、構造体の内部にオブジェクトを埋め込みます。ARCはそれを本当に気にしません。
だから-私の質問は(申し訳ありませんが、これがtl; drであったかどうか、そしてそれがまったく新しい質問のように思われる場合-まだこのオブジェクトについて頭を悩ませることはできません)古典的なデータ構造(ツリーなど)をどのようにプログラムしますかObjective-Cで最初から?NS [Mutable] {Array、Setなど}に依存したくありません。DAWGを作成しているときに、ツリーなどの単純で基本的な実装を持っている人はいますか?