2022-01-01から1年間の記事一覧
関数 定義の仕方 pythonの場合 def add(a,b): return a+b JavaScriptの場合 const add = function(a,b){ return a+b; }; 呼び出し方は両方とも同じです。 add(1,2) add(1,2) アロー関数 *新しいJavaScriptではアロー関数といって以下の書き方もできます con…
繰り返し処理 while文 num = 10 while num >0: print(num) num -= 1 while (num >0){ console.log(); num -= 1; } for文 for i in range(num): print(i) for (let num = 10; num<10; num -=1){ console.log(num); } この場合、num -=1をnum --と書くことも可…
上がpythonの書き方で、下がJavaScriptの書き方です。 出力 print() console.log(); コメントアウト # // 計算 + - * / %で、pythonとJavaScriprで変更なし 変数 変数の定義の仕方 blog = "アメリカの大学で奮闘中" let blog = ""アメリカの大学で奮闘中"; …
アメリカの大学の2年生の秋学期、長かったCalculasのクラスが終わろうとしている時期に、数学の基礎となる証明法や集合理論、数学的記述方法のクラスが始まりました。 その時の自分は英語力を未熟で、数学は先生の板書かスライドの数式と教科書の公式を見比…
少し攻めたタイトルになってしまったのですが、今回の記事ではプログラミングを学び始めたor就活でエンジニア就職をする予定だけど何を勉強すればいいか分からない人で、特にWEB開発とアプリ開発で迷っている人をターゲットにしています。 結論から言うと、…
前回の記事の続きです。 astrostory.hatenablog.com この記事ではマルコフ連鎖をグラフとして見ていきます。なお、今回も例は前回の記事の天気の例を利用します。 簡単に再度説明しますと 晴れ、曇り、雨という3つの状態があり、そのいずれかの状態から別の…
マルコフ連鎖というグラフ理論を用いた確率の考え方があり、これはプログラムの実装も可能で便利だと思うのでこの記事で詳しく説明できればと思います。 いつものように数学的な厳密性は少し欠けていても分かりやすい記事を目指します。 マルコフ連鎖とは マ…
クイックソートとはデータの集合をある決まりに従って並び替えるソートアルゴリズムの一種です。クイックソートはクイックと付いているだけあって早く処理できる方法になります。 今回は array = [5,4,6,9,2,7,8,1,3] → array = [1,2,3,4,5,6,7,8,9] arrayの…
マージソートとはソート(並び替え)アルゴリズムの一種で、与えられたリストに対して一定のルールのもとで並び替えるアルゴリズムです。 具体的な例で考えていきましょう 具体例 arrに数字の入ったリストを仮定してみます。 arr = [12, 11, 13, 5, 6, 7] こ…
*以前の連結リストの記事の続きです。 astrostory.hatenablog.com 今回は前回の連結リストの続きです。前回は片方向リストと双方向リストの解説を行いました。その時に使った例の連結リストは線形リストでした。 連結リストには線形リストと循環リストがあ…
以前の記事で連結リストの実装を簡単に紹介しました。 astrostory.hatenablog.com 実を言うと前回は連結リストの中でも一番シンプルで簡単な線形リストの片方向連結リストの解説を行いました。 ですが実際は連結リストはいくつかの種類があり、今回の記事で…
Gale-shapleyアルゴリズムはマッチングに関するアルゴリズムです。 合コンでの男女のマッチング、研修医と病院のマッチングなどのグループAとグループB、そして全ての参加者がそのマッチング対象のグループの参加者に対して順位がある場合、Gale-shapleyアル…
今回の記事ではグラフ理論のSpanning Tree(全域木)を扱います。 まずそもそもグラフとは?の人はこちらの記事から入られることをお勧めします。 astrostory.hatenablog.com また今回は分かりやすくするために無向グラフを使います。 全域木 全域木はかなり平…