Go 言語 - データ構造とアルゴリズム プロジェクト

Go 言語 - データ構造とアルゴリズム プロジェクト

[[404457]]

この記事はWeChatの公開アカウント「roseduanの執筆場所」から転載したもので、著者はroseduanです。この記事を転載する場合は、roseduanが執筆しているローカルの公開アカウントまでご連絡ください。

今日私が共有するのは、いくつかのデータ構造とアルゴリズムのプロジェクトです。私が自分でGo言語を学んでいたとき、基本的な文法知識を習得した後、LeetCodeの問題を集中的に解いて文法知識を強化し、アルゴリズムの問​​題を解く感覚も維持できました。これは一石二鳥と言えます。

以下の優れたプロジェクトから、あなたにぴったりのプロジェクトがきっと見つかるはずです。

1. ゴッド

Githubアドレス: https://github.com/emirpasic/gods

星の数: 9.9k

Go Data Structures は、リンクリスト、スタック、ハッシュテーブル、ツリーなど、実際のプロジェクトに直接導入できる一般的なデータ構造を実装しています。命名スタイルは Java のクラス名に似ています (作者は Java に深く影響を受けていると推測されます、笑)。たとえば、次のようになります。

  • 配列リスト
  • 配列スタック
  • ハッシュセット
  • ツリーセット
  • リンクハッシュセット
  • レッドブラックツリー

もちろん、データ構造を学習したり、専門家のコードがどのように書かれているかを確認したりすることもできます。

2. goデータ構造

Github アドレス: https://github.com/Workiva/go-datastructures

星の数: 6k

上記のプロジェクトと同様に、これも Go 言語を使用してさまざまなデータ構造を実装するプロジェクトですが、より多様なデータ構造をサポートしています。いくつかの基本的なものに加えて、BitArray、BTree、フィボナッチヒープ、グラフ、AVL ツリー、プレフィックスツリーなどの高度なデータ構造もあります。

より難しいデータ構造に挑戦したい場合は、このプロジェクトで学習したり参照したりできるコードを見つけることができるはずです。

3. アルゴリズム/Go

Githubアドレス: https://github.com/TheAlgorithms/Go

星の数: 5.3k

これは、TheAlgorithms シリーズの Go 言語実装です。TheAlgorithms シリーズには、Python、Java、Go、C++、JavaScript など、多くの言語のバージョンがあることがわかっています。

このプロジェクトは学習に適しています。数学、バイナリ検索、ソート、文字列マッチング、アルゴリズムの練習問題など、多くの基本的なアルゴリズムの例が含まれています。

4. アルゴリズムパターン

Githubアドレス: https://github.com/greyireland/algorithm-pattern

星の数: 11.5k

このプロジェクトでは、主に一般的な質問解決テンプレートと、回答する質問の数、回答する順序、質問への回答の効率を向上させる方法など、いくつかのよくある質問を紹介します。

著者がまとめたテンプレートは非常に包括的で、説明も非常に詳細です。

一時的なアルゴリズムの練習や面接対策に適しているため、Go 言語を学習していなくても、質問の練習で経験を積むことができます。

プロジェクトにはいくつかの書籍の推奨もあり、ドキュメントも非常に包括的です。

5. リートコードゴー

Githubアドレス: https://github.com/halfrost/LeetCode-Go

星の数: 17.4k

名前が示すように、これは Go 言語を使用して Leetcode の問題を実装し、より実用的な問題解決に重点を置いたプロジェクトです。

現在、このプロジェクトには 600 以上の LeetCode の質問が含まれており、質問ごとに詳細な解決策のアイデアと完全なコード実装が用意されています。

このプロジェクトには、サポート用の電子書籍やドキュメントも付属しており、非常に便利です。

6. hoanhan101/アルゴ

Githubアドレス: https://github.com/hoanhan101/algo

星の数: 3k

このプロジェクトは、面接プロセスで遭遇する最も一般的なアルゴリズム面接の質問のいくつかを著者が要約したもので、詳細なコード実装が含まれていますが、すべて英語です。英語が得意な学生は、英語を学んでみることができます。

7. shady831213/アルゴリズム

Githubアドレス: https://github.com/shady831213/algorithms

星の数: 504

このプロジェクトでは、動的プログラミング、貪欲アルゴリズム、グラフ、ツリー、ヒープなどの一般的に使用されるアルゴリズムとデータ構造を実装しています。コードは簡潔で明確であり、学習する価値があります。

<<:  速達荷物を受け取るには顔認証しか方法がないのでしょうか?上海郵政:申通、菜鳥郵政などと面談し、集荷の同意を得る必要がある

>>:  本物と見間違えるほどリアルなAI変顔技術は本当に完璧なのか?

ブログ    
ブログ    
ブログ    

推薦する

機械学習にはどのプログラミング言語を選択すればよいでしょうか?

機械学習やデータサイエンスの分野で仕事を得るために、開発者はどのプログラミング言語を学ぶべきでしょう...

...

Nature のサブ出版物: 新しいアルゴリズムは、米国の 8 つの都市で 90% の精度で、1 週間前に 2 ブロック以内の犯罪を予測できます。

シカゴ大学の助教授イシャヌ・チャトパディアイ氏は、彼と彼のチームが「アーバン・ツイン」モデルを作成し...

Nvidia、Hugging Face、ServiceNow がコード生成用の新しい StarCoder2 LLM をリリース

現在 3 つの異なるサイズで提供されているこれらのモデルは、リソースの少ない言語を含む 600 以上...

...

C# のデータ構造とアルゴリズムにおけるツリーの役割を紹介します

C# データ構造とアルゴリズムツリーまず、Windows でコマンド ラインに「tree」と入力しま...

...

クラウド コンピューティングにおいて人工知能はどのような役割を果たすのでしょうか?

今日のデジタル世界では、人工知能とクラウド コンピューティングが毎日多くの人々の仕事と生活に影響を与...

「最もわかりにくい」Paxos アルゴリズムと、データベースの高可用性におけるその使用法をわかりやすい言葉で理解する

最近、Paxos アルゴリズムについてみんなが議論しています。私はオンラインで多くの記事を読みました...

AIと機械学習が交通をどのように変えているのか

人工知能 (AI) と機械学習が現代生活を改善すると期待される多くの方法の中でも、公共交通機関に影響...

OpenAI: 著作権のあるコンテンツを使用しないと、ChatGPTのようなAIモデルを開発することはできない

IT Homeは1月10日、ChatGPTの開発元であるOpenAIが最近、ChatGPTのようなA...

...

物流でGenAIを効果的に活用するための鍵は、ユースケースを理解することです。

GenAI を商品輸送という主要機能にどのように適用できるかは最初は明確ではないかもしれませんが、...

ロボットの時代、トラクターの背後にある1兆ドル市場

自動化農業の需要を満たすには、栽培者は栽培シーズンを通して作物の成長と健康に関する正確な情報を入手し...