テクノパークの講義。 アルゴリズムとデータ構造コース(2016年秋)

画像







今日は、最新のテクノパークコースの1つである「アルゴリズムとデータ構造」をご紹介します。 これは、日々のタスクに対する高品質のソリューションのためにプログラマーが必要とする基本的なアルゴリズムとデータ構造の研究です。 このコースでは、配列の操作、並べ替えのアルゴリズムを紹介します。 基本データ構造(スタック、キュー、リスト、ヒープ)について説明します。 このプログラムには、さまざまな検索ツリーとハッシュテーブルも含まれています。 コースでは、アルゴリズムの有効性を評価する方法についてのアイデアを提供します。コースのすべてのアルゴリズムは、作業時間と使用される追加メモリの量によって評価されます。 6つの講義があなたを待っています:









コースの4つの講義は、ABBYYのオントロジー情報抽出グループの責任者であるStepan Matskevichによって行われます。 彼は、ABBYY Comprenoテクノロジー(テキスト分析および翻訳)に基づいてABBYY InfoExtractor製品のサーバー側を作成する主要なプログラマーでした。







Mail.Ru Searchの開発者であるGeorgy Ivanovがさらに2つの講義を行い、検索クエリの処理タスクを扱います。







講義1.「はじめに。 配列»





コースの概要:アルゴリズムの定義、データ構造、アルゴリズムの効率が示されています。 n番目のフィボナッチ数を計算するためのアルゴリズム。 与えられた自然数nが単純かどうかをチェックする問題は解決されました。 これは、数値の累乗を急速に上げることを示しています。







配列、シングルパスアルゴリズム、線形およびバイナリ検索が考慮されます。







講義の一部は、抽象データ型、「動的配列」データ構造に専念しています。 結論として、要素を追加する償却時間について説明します。







講義2.「リスト、スタック、ライン、12月。 動的プログラミングと欲張り»





2番目の講義では、主なデータ構造、つまり単方向および双方向のリスト、抽象データ型(スタック、キュー、dec)、およびそれらの実装方法について説明します。 動的プログラミングと貪欲なアルゴリズム(コインの交換、セグメントごとのカバー、バックパックの問題)のトピックに触れます。







講義3.「ソート」





ジョージ・イワノフがソートについて講義します。 さまざまな単純な種類のソート(選択、挿入、バブル、ピラミッド)、それらの改善方法、品質評価について話している。 この講義の後半では、並べ替えとクイック並べ替え、順序統計、および比較なしの並べ替えを統合します。







講義4.「ソート(パート2)。 順序統計。」





ジョージ・イワノフからの選別に関する講義の第二部。 クイックソート、Hoarソート、カウントソート。 さらに、中央値検索アルゴリズムも考慮されます。 答えは、実際の条件でどのようにクイックソートアルゴリズムを加速するかです。 表はソートを比較します。 Georgeは、ビットソートアルゴリズムに関する話で講義を締めくくります。







講義5.「ハッシュテーブルとハフマンコード」





ハッシュ関数とは何か、ハッシュテーブルとは何か、その作成方法について説明します。 ハッシュ関数を使用するときに発生する衝突を解決する方法、およびその方法(二重ハッシュを使用するチェーンまたはオープンアドレス指定)。 最後に、衝突解決方法の動的ハッシュテーブルと比較テーブルを検討します。







講義6.「ツリー」





アルゴリズムに関する最後の講義は、いくつかの異なるタイプのツリーに一度に専念します。バイナリ検索ツリー(連想配列を作成するため)とそのバランスの問題、デカルトツリー、AVLツリー。 Stepan Matskevichは、各オプションの利点を比較して、ツリーとハッシュテーブルを使用して「連想配列」データ型を実装する例で講義を終了します。







すべての講義のプレイリストはこちらにあります 。 テクノパーク、テクノスフィア、テクノトレックの各プロジェクトのITスペシャリストによるプログラミングに関する実際の講義とマスタークラスは、テクノストリームチャンネルで公開されてます。








All Articles