データ構造とアルゴリズム開口部を横切って

国民の関心番号MageByteは、最新のプッシュのためにスターを設定します。技術交流グループには公共の返信バック「プラスグループは、」より多くの技術的な成長を獲得していません。

あなたがコードを書くときに、より多くのアルゴリズムがあります把握する際のデータ構造とアルゴリズムは、基本的なスキルをプログラムされていないヘルプには、多くのパフォーマンスの問題を検討します。書き込み時の高い複雑、少なく、機能をプログラミング能力構築アルゴリズムの多くは、また、質的な飛躍となっていることを宇宙ゴミコードの高い複雑。

最初のトリプルは尋ねました。

  • 、あなたは、データ構造を学ぶことは難しいでしょう学校からではなく、学ぶことがないように気をつけてきましたか?

  • 仕事、ピットに遭遇したデータ構造、あなたは本能的な急速に道を譲るしている、あなたは理解していないと思うので、その下に取得する必要はありません、とにかく、それは全体的な状況とは無関係のようですか?

  • あなたが就職の面接、オープンソースプロジェクトや研究のソースを変更したい場合は、またはチームによるとフレームワークレベルの非可用性の問題を議論し、あなたは他人のリズムに追いつくために、独自のインフラストラクチャを見つけることがありますか?

あなたはこのような状況を持っている場合、実際には、あなただけではありません。これは、あなたが人に遭遇する問題ではありません。作業10は、多くのプログラマを見ました。彼らは、さまざまなバックグラウンドを持って、両方の非常に難しい可能性との多くを持っていますが、まだ彼らの既存のレベルにさらに行くことができません。ティーンエイジャーは、青葉アルゴリズムがこの橋を渡って表示されます、慌てる必要はありません。

技術サークルで、私たちはしばしば、このようなように、高可用性、マイクロサービス、サービス管理、およびなど背の高いのアーキテクチャ、についてお話したいです。少数の人々のコードレベルのプログラミングのスキルを懸念、と心に沈むことを喜んでいる、一口コンピュータの基礎を食べヶ月過ごし、人々の真剣に強固な基盤、単に珍しいです。

当社の技術の高さを決定し、建物の基礎、などの基本。そして、すぐに何かを作るためには、「強さ」は、所定の位置にある必要があり、優れた基本的なスキルのための前提条件である必要があります

技術的な人々はそれを実践する、まさに「強さ」が必要であることを?私は、大学の基礎科目、オペレーティングシステム、コンピュータネットワーク、コンパイラ理論、およびので、もちろん、データ構造とアルゴリズムのものよりも何もない、感じています。

今すぐ開始、およびアルゴリズムの列。みんな速い車!

素人の言語で

初心者

時間と空間の複雑さの解析は非常に重要なデータ構造とアルゴリズムの知識、コラムを通じて学習プロセスです。しかし、また、把握することはより困難です。

基本

この列には、我々はまた、優先順位、計画26本のコンテンツ部分のカバーの総最も基本的な、最も一般的に使用されるデータ構造とアルゴリズムの学習し、最大の長さのコンテンツの一部です。データ構造とアルゴリズムのそれぞれについて、私が説明するために、ソフトウェア開発の具体的な例を、漸進的なアプローチと一緒になります

高度な記事

その部分は私はいくつかではないので、一般的に使用されるデータ構造とアルゴリズムについてお話します。あまり一般的けれども、しかし、あなたはまた、コンテンツを知っている必要があります。目的のこの部分は、自分の視野を広げることです設定してください。

実際の記事

あなたがより直感的な感覚を持っているので、私は、その背後にいくつかのオープンソースプロジェクト、フレームワークやシステム設計上の問題、データ構造の解析とアルゴリズムを拾うでしょう。

意味のある学習アルゴリズムとデータ構造

あなたは、データ構造とアルゴリズム、オペレーティングシステムのような、コンピュータネットワーク、知識作業は現実から離婚されると思いますか?インタビューの可能な例外は、この生活の中で必要はありませんでしたか?

一部の人々は少しだけより複雑な、高速でこれらの最も基本的なデータ構造とアルゴリズムを排出し、配列、リンクリストの聞いたことが全くないアイデアではありません。

もちろん、多くの人々が彼らの仕事は、実際のデータ構造とアルゴリズムを使用することはありませんと言っあります。だから、この知識、限りのJava API、開発フレームワークを理解していないと堪能でなければならない、あなたはまだ、コードを書くことができた場合でもアップ「飛びます」。事実は、それが本当にありますか?

このようBATは、Google、Facebookなど多くの大企業が、時に面接テストアルゴリズムのように、人々は、書き込みコードに住んでいます。何人かの人々のスキルは良いですが、毎回、私はアルゴリズムにインタビューだろう「ひざまずく」を行くが、それは残念です。これらの大企業は、アルゴリズムそれをテストしたい、なぜあなたは今まで疑問に思っていますか?

事業開発エンジニアが、あなたは一生のCRUDの少年が間に合わ本当に喜んでいますか?

はい、事業開発の大多数のため、我々は通常より多くの可能性の高いビジネス・ロジックの、翻訳を詰めるにはすでにパッケージ化既製のインタフェースライブラリを利用するためには、めったにデータ構造とアルゴリズムを実装する必要がありません。しかし、知っている必要はありません何を意味するものではありません、達成する必要はありません

事業開発として、我々は、そのようなので、上の春、RPCフレームワーク、メッセージングミドルウェア、Redisの、およびなどのフレームワーク、ミドルウェア、および基礎となるシステムの様々なを使用します。これらの基本的な枠組みの中で、一般的には、摩擦やデザインのアイデアは、データ構造とアルゴリズムの基礎となる多くの。

例えば、我々はキー値のデータベースのRedisを使用し、それを達成するためにどのようなデータ構造セットの内部を命じましたか?なぜジャンプテーブルは、それを達成するには?なぜ、バイナリツリーをしませんか?

私は、実際には、細部の専門家間の競争を考えます。これらの詳細は、次のとおりです。使用あなたのアルゴリズムは、最適化データアクセス効率には十分ではありません十分に高いではない、より多く保存するための十分なメモリがありません。これらの蓄積され、フレームワークの決定は良くありません。だから、あなたはビッグOの複雑さの分析を聞いたことがない、データ構造とアルゴリズムを知らない場合には、コードの時間と空間の複雑さの複雑さを分析する方法がわからない、それは確かに正当化される、とすぐにそれを修復するために!

ペアプログラミングを求めていますか?私は廃業になりたいですか?それからちょうど書き込みコードが使用可能な即興しないでください!

ユーザーのあなたは、私は小さな会社で働く、と言うかもしれない、非常に少ない量、データの量が問題にそれほどパフォーマンスを、完全に機能することができ、どのようなデータ構造とアルゴリズム、根本的な違いを検討するために、開発の必要性に、稀に処理しないとします少し。しかし、あなたは実際には同じ仕事をするために、「十年」にしたいですか?

私たちは少なからず丸暗記知識のために、データ構造とアルゴリズムを学びます。私たちの目的は、見返りに仕事を得るためにスキル、論理的思考の訓練、人生経験の蓄積を、プログラミング改善、インフラストラクチャを設計するために、高品質なコードを書くために、時間の複雑さ、意識のスペースの複雑さを確立することです。

アルゴリズム本当に難しいでしょうか?

あなたは、データ構造とアルゴリズムを読み取ることができないので、私に話をし、一度自分の愚かなことを疑われたことがありますか?実際にはドアで、多くの人最初の接触、このクラス、この気持ちを持って、私は象形文字のように、曖昧に、非常に抽象的なデータ構造とアルゴリズムを感じます。これは、非常に多くの初心者はこの理由のために、このコースフリンチです。

本当の理由は、見つけることを学ぶための良い方法がないことである研究の焦点をつかむませんでした実際には、データ構造とアルゴリズムが多く、一般的ではない、基本的な知識はほんの一握りです。あなたが学ぶための正しい方法をマスターしたら、学ぶためにと懸命にいないようでした、あなたはそれ以上のIQ、厚い基盤を必要としません。

データ構造は何ですか?アルゴリズムとは何ですか?

データ構造とアルゴリズムの教科書のほとんどは、開口部におけるこれら二つの概念の明確な定義は次のようになります。しかし、これらの定義は、これら二つの概念はかなりの助けではありません理解し、実際に死んでプル定義されたエラーにあなたを作るために、抽象的です。結局のところ、我々は今、学ぶ、ないテストに、その概念は再び刑務所にいた、それは無駄に使用することはありません。

我々は深い厳密な定義を掘るために、それは概念を理解する必要はありませんという意味ではありません必要性を全く言わなかったが。

大まかに言えば、データ構造は、データ記憶構造のセットを指します。アルゴリズムの動作の方法は、データの集合です。

データ構造への特定のアルゴリズムに作用するアルゴリズムサービスのためのデータ構造。したがって、我々は、アルゴリズムの観点からではない単離データ構造、アルゴリズムは、データ構造の観点から単離することができないことができます。

アレイは、ランダムアクセスの特性を有しているので、例えば、従来のバイナリサーチアルゴリズムは、データを格納する配列を必要とします。しかし、我々は、このデータ構造を一覧表示することを選択した場合、バイナリサーチアルゴリズムが動作しません、チェーンはランダムアクセスをサポートしていないため。

データ構造が静的である、それはデータを整理するだけの方法です。あなたが構築したアルゴリズムに基づいて、それを操作していない場合は、データ構造が孤立して存在しては無意味です。

解決するために、データ構造とアルゴリズムは、したがって、我々は資源消費と効率の考慮の方法を必要とする、より多くのデータの問題より速い保存、および処理を保存する方法で、これは、分析の複雑さです。あなたが唯一のデータ構造とアルゴリズム、使用方法の特性を把握したが、分析の複雑さを学ぶことがなかったのであれば、それだけで操作式を知るために同等ですが、ハートを把握しませんでした。唯一の心の向上は、トリックを獲得一切ストロークを行うことができます!

総合的な理解を持っているあなたのデータ構造とアルゴリズムを与えるために、データ構造とアルゴリズムの本のほぼすべての知識をカバーして、私が描いた絵は、言及されます。

再帰、ソート、バイナリ検索、検索、ハッシュアルゴリズム、貪欲アルゴリズム:; 10アルゴリズムの配列、連結リスト、スタック、キュー、ハッシュテーブル、バイナリツリー、ヒープ、ジャンプテーブル、グラフ、トライ木:10件のデータ構造があります、分割統治アルゴリズム、アルゴリズム、ダイナミックプログラミング、文字列照合アルゴリズムをバックトラック。

いくつかの単語の男は、それが乾燥し、継続的に更新国民の関心の数を受け入れることを拒否した、と述べました。ここでは、時間の複雑さのために、あなたに質問をするHashMapのはどのくらいですか。HashMapのシナリオは、拡張容量によって、それを複雑な問題になりますか?

ノーバック国民の関心キーワード「HashMapを」返信ご質問の答えを得ます。公共返信戻っていないプラスグループいいえ、私たちと共有する私たちの最初の時間のフィードバックをグループディスカッションを追加してください。

公開された28元の記事 ウォンの賞賛2 ビュー1456

おすすめ

転載: blog.csdn.net/qq_14855971/article/details/104712017