アルゴリズムの下書き

3094 ワード

一般的なアルゴリズムセット
文字処理アルゴリズム配列と検索チェーンツリーアルゴリズムの考え方の再帰的、動的企画、BFS/DFS、二重ポインタ、二分割検索データ構造の使用ハッシュ、スタック、キュー、チェーン・ハッシュ・テーブルの実現
時間の関係で、後はゆっくりとコードを補充します.
基礎普通進級難病
文字処理アルゴリズム
1.文字列を数字に変換する2.文字列を全部並べて3.文字列を反転させる4.最も長い文字列がない5.最も長い回文のサブストリング6.KMPアルゴリズム
ダイナミック?プログラム
1.リュックサック問題2.連続サブアレイ最大と3.シンプルな正規表現を実現
行列
1.2つの等長、秩序配列の中央値(二分法)を求めます.2.秩序配列の中にある数字が出現する回数(二分探索)3.2つの不等長、秩序行列の中央値を求めます.回転配列は最小値を求めます.【3】回転配列はある値が存在するかどうかを調べます.5.各行は左から右へ、各列は上から下へと増分されます.ある数が存在するかどうかを判断します.6.配列中の出現回数が半分を超える数字7.k番目の大きな数(拡張:最大のk個数)
チェーン?メーター
1.逆チェーン表(再帰と反復の2つの解法を使用して、ヘッド挿入法を理解する)2.チェーンテーブルを削除する現在ノード3.最後からk番目のノード4を削除する.2つの順序チェーンを結合する5.複雑なチェーンテーブルの複製6.チェーンテーブルにリングがあるかどうかを判断する.2つのチェーンテーブルの最初の共通ノード(ヒント:チェーンテーブルにリングがある場合)8.チェーンテーブルの重複ノードを削除する.

1.二叉樹を中順と後順に通過した結果によって再構成します.二叉樹を反転させます.上から二叉樹(BFSの思想)を印刷します.4.ある配列が二叉樹であるかどうかを判断します.結果5.二叉樹とある値の経路6.二叉樹の中のノードの次の節点7.中の順序と前の順序によって、二叉樹を再構成します.
スタック
1.2つのスタックで列2を実現する.2つの列でスタック3を実現する.1つのスタックを実現すると、定数レベルの時間でスタックの最小値4を探し出すことができます.スタックのスタック、弾スタックシーケンスが合法的かどうかを判断します.
並べ替え
1.規格化された並べ替えボール配列の中で、逆順を求めて、個数に対して2.快速的に並べ替えます.3.積み上げ順序4.配列要素が既知の場合、基数並べ替えと桶の並べ替えを考慮します.
ビット演算
1.十進数を与え、その二進数表現には、いくつかの1(n&=n-1)がありますか?1つの配列には、すべての数字が偶数回現れています.1つだけが一回現れて、この数を探します.3.一つの配列には、すべての数字が3回現れています.1つだけが一回現れて、この数を探します.4.一つの配列には、すべての配列に偶数回が現れます.二つの数字が一回だけ現れて、この二つの数を探します.
リバースチェーン表の二分割検索は、泡並べ替えデータ構造(チェーンテーブル、二叉樹、アルゴリズム時間複雑度、空間複雑度)二叉検索ツリーT 9アルゴリズムがどのように実現されますか?
WeChatユーザーは皆双方向の友達です.aはbの友達です.bはaの友達です.ユーザーリストを指定します.一部のユーザーは友達で、一部は違います.これらのユーザーは二つのグループに分けられますか?各グループのユーザーはお互いに友達ではありません.できれば、この区分を教えてください.
会議室を予約すると、チームnが当日の会議室を予約します.時間はそれぞれ違っています.少なくともいくつかの会議室が必要です.例えば、1予約の時間は[9-11]で、2予約の時間は[10-12]で、3予約の時間は[12-14]です.この場合、会議の最小個数は2つです.
一般的なアルゴリズム
シシシシシシシシシシシシシシシシシシシシシ.アルゴリズムの考え方は何ですか?一つの問題を多くの似たような問題に分解するのは、再帰などの方法で結果をまとめることです.分割アルゴリズムはいつ適用されますか?1.この問題は一定の規模に縮小すれば簡単に解決できます.2.この問題はいくつかの規模の小さい同じ問題(最適なサブ構造特性を持つ)に分解できます.(1を満たすなら、2が3を満たさないなら、欲張り法やダイナミックプランニング法で考えられます.)4.効率に影響する要素:分解された各サブ問題の間にはお互いに独立しており、公共のサブ問題は含まれていません.(子問題がそれぞれ独立していないなら、分割法は多くの不必要な仕事をする必要があります.この時は動的計画法を使ったほうがいいです.)
アルゴリズムで解決された古典的な問題(1)二分検索(2)大整数乗算(3)ストラセンマトリックス乗算(4)統合順序付け(5)高速ソート(6)線形イベント選択(7)線形時間選択(8)問題点対問題(9)サイクルスケジュール(10)ハノイタ
萼33859;菷菗2.動的計画アルゴリズムアルゴリズムの考え方は何ですか?毎回計算が影響してくる計算は、分割アルゴリズムと似ています.問題を小さい問題に分割して計算します.そして、分割法との違いは、次の問題の解決が前の小さい問題の結果に基づいていつ動的計画アルゴリズムを使いますか?ダイナミック企画アルゴリズムを採用することができます.一般的に3つの条件を満たす必要があります.1.最適化原理、問題の最適解に含まれるサブ問題は最適解で、最適なサブ構造の特徴があります.一つのサブ問題は次の段階の決定において何度も使われるかもしれない.(最も効率に影響する条件は、この条件を満たすことによって動的計画アルゴリズムの利点を引き出すことができる)
ダイナミック企画基本フレーム
シシシシシシシシシシシシシシシシシシシシシシシシシシシシシシシ.欲張りアルゴリズム欲張りアルゴリズムの考え方は何ですか?計算の各ステップは現在の最適解であり、大域最適解を考慮しない場合の適用条件1.非事後性2.局所最適化は大域最適化をもたらす.
貪欲アルゴリズムの実現フレーム
問題のある初期解から出発する.while(所与の総目標に向かって一歩前進できる){実行可能な方策を利用して、実行可能な解を求める一つの解元素;
すべての解元素から問題を構成する一つの実行可能解
(1)与えられた問題に対して、問題の解決空間を確定する(少なくとも問題の解決規則を含む)(3)深さ優先で解空間を検索し、検索中に剪定関数を用いて、無効な検索を避ける.
龔萼萼萼萼5.分岐限界法は遡及法に似ています.問題の解空間樹上で問題解を検索するアルゴリズムです.違い:遡及法の解は制約条件を満たすすべての解を見つけることです.分岐限界法の解は制約条件を満たす一つの解を見つけることです.ある意味の最適解を探します.
      。                  ,         ,          。      ,            。