Pythonによるデータ構造とアルゴリズム入門


この記事では、データ構造とPythonでの実装方法を分析します.
最後に、私はまた、いくつかのサンプルアルゴリズムを分析します.

リスト
リストは、[]ブラケットを使用して定義された可変で順序のついたデータ構造です.リストには、異なるデータ型の項目を含めることができます.
languages = ['CSS', 'Java', 'JavaScript', 'Python', 'Ruby', 'C++',
             'PHP', 'SQL', 'Pascal', 'Swift']
#add a new element to the end of the list
languages.append('Kotlin')
print(languages)
#access element on index 0
print(languages[0])


 Output : ['CSS', 'Java', 'JavaScript', 'Python', 'Ruby', 'C++', 'PHP', 'SQL', 'Pascal', 'Swift', 'Kotlin']
CSS

タプル
タプルは、一連の要素を含む不変のデータ構造です.要素を追加または削除することで変更できません.
#Creating a tuple to store the connection values on a server
#The information cannot be changed in the entire program
host, IP, port = ('Local host', '127.0.0.1', 8080)
print('The connection variables are {} {} {} '.format(host, IP, port))

Output : The connection variables are Local host 127.0.0.1 8080

セット
セットは、ユニークな要素のコレクションです.それはユニークで無秩序です.つは、要素を削除するか、ユニークな要素をセットに加えることができます.
#create a set from list of numbers
numbers = [1, 4, 6, 8, 3, 2, 7] 
num_set = set(numbers)
print(num_set)
#create a list for programming languages
language = {'CSS', 'Java', 'JavaScript', 'Python', 'Ruby', 'PHP'}
print('CSS' in language)
language.add('Kotlin')
print(language.pop())
> Output : {1, 2, 3, 4, 6, 7, 8}
True
JavaScript

辞書
辞書はキー値ペアの項目を格納します.これは変更可能であり、要素は順序なしです.
City = {'Kenya':'Nairobi', 'Uganda':'Kampala', 'Ghana':'Accra', 'South Africa':'Pretoria'}
print(City)
> Output {'Kenya': 'Nairobi', 'Uganda': 'Kampala', 'Ghana': 'Accra', 'South Africa': 'Pretoria'}

キュー
キューは、シーケンシャルに要素を格納するデータ構造体です.これは、dequeueまたはenqueue要素の2つの操作をサポートしています.キューには、先頭の要素を指すフロントエンドと、最後の要素を指す後端があります.キュー上の要素はFIFO ( first - in - first - out )の原理に基づいて削除されます.

スタック
スタックは、その要素がlifo(last in first out)の原則に従ってアクセスされるキューの反対側です.最後の要素は最初に削除されます.スタックの基本操作は以下の通りですプッシュ、ポップ、isempty、iSfull.

連結リスト
リンクリストは、すべての要素が互いに接続されているデータ構造体です.接続はポインタを介して行われます.リンクリストを作成するには、ノードクラスを使用し、必要なオブジェクトを渡します.

https://media.geeksforgeeks.org/wp-content/cdn-uploads/gq/2013/03/Linkedlist.png
リンクリストは、横断、挿入、削除などのいくつかの操作をサポートします.

アルゴリズム
アルゴリズムは、問題を解決するときに続くことになっている命令を概説するステップバイステップ手順です.アルゴリズムは言語特有ではなく、どんなプログラミング言語でも実装できます.アルゴリズムは、多くの手順を簡単に説明することができます多くの手順を使用すると、例えば、いつでも、いつでも、材料を取得すると、それらを準備し、最終的に料理の過程に入るお気に入りの食事を準備する準備を行う.同様に、プログラミングの問題を解決するときには、プログラマは常に問題を定義し、必要な入力を得てから、所望の出力を得るためにプログラミング手順に従って起動する.Pythonで実装できるアルゴリズムのいくつかは、クイックソート、貪欲な検索、およびバイナリ検索アルゴリズムが含まれます.