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変顔技術は本当に完璧なのか?

ブログ    
ブログ    
ブログ    
ブログ    
ブログ    
ブログ    
ブログ    

推薦する

...

ドイツメディア:EUは人工知能の乱用を制限する法律制定を計画

専門家は、人工知能も気候変動への取り組みにおいて重要な役割を果たすことができると考えている。しかし一...

ニューラルネットワークの発明者、福島邦彦氏が受賞、シュミットフーバー氏とフェイフェイ・リー氏が賛辞を送る

[[429116]]最近、福島邦彦氏が2021年度バウアー賞および科学業績賞を受賞したというニュース...

データ保護にはAIベースのセキュリティ戦略が必要

回答者の半数だけが、自社のデータセキュリティ戦略が AI の発展に追いついていると答えました。さらに...

AIと機械学習が建設業界にもたらす変化

建設業界は長い間、伝統的な手作業のプロセスで知られてきましたが、テクノロジーの進歩により急速に変化し...

顔認識会社Clearviewのソースコードがサーバーの設定ミスにより公開される

この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...

特定のイベントが発生した正確な時刻を特定します。 Byte&復旦大学のマルチモーダル大型モデル解釈ビデオはとても良い

Byte & 復旦大学のマルチモーダル理解モデルはこちらです:ビデオ内の特定のイベントが発生...

Photoshop 2020が登場、人工知能でデザインが簡単に

Photoshop Elements 2020エディション数日前、Adobe は最新バージョンの ...

Java ソートアルゴリズムの概要 (II): 選択ソート

選択ソートの基本的な操作は、ソートするデータ要素から毎回最小(または最大)の要素を選択し、ソートする...

将来の産業用ロボットは「金属を食べて」自ら動力を得るようになるのでしょうか?

このタイトルで説明されているのは、SF映画の架空の筋書きではなく、現実のことです。ペンシルバニア大学...

...

MWC19 上海 | データセンター 400G ソリューション、AI が未来を拓く

近年、モバイルインターネット、OTTビデオ、VRなどのビジネスアプリケーションの急速な成長に伴い、通...

会話型 AI は FMCG 業界でどのように導入されていますか?

今日、ますます多くの消費財 (CPG) 企業が、日用消費財 (FMCG) 事業に AI テクノロジー...

Googleの検索アルゴリズムがユーザーをより深く理解する方法

Googleは現在、コア検索アルゴリズムに変更を加えており、検索結果の最大10分の1のランキングに影...

...