タグ : プログラミング

便利なアルゴリズムの種類【ソート】

並べ替えのソートアルゴリズム

バケットソート
最大値の個数分の箱を用意して、データを格納して並べ替える。

基数ソート
数字の桁に着目し、桁ごとに順番にデータを並べ替える。

単純選択法
データから最小値or最大値を見つけ、先頭or末尾のデータと交換する。

単純交換法(バブルソート)
隣り合うデータ同士を比較し、大小関係が正しくなるよう入れ替える。

単純挿入法
データの並び順の大小関係が正しくなる位置へデータを挿入する。

シェルソート
ソート対象データ列を、一定の個数にグループ分けして並べ替える。

マージソート
ソート対象データ列を分割し、併合(マージ)することで並べ替える。

クイックソート
データ列から任意の数を選び、その値と大小で2分割することを繰り返して並べ替える。

ヒープソート
ヒープ構造を利用して並べ替える。

配列の先頭要素「0」と「1」

プログラム言語によって、配列の先頭要素番号が「0」の場合と「1」の場合があります。

昔のプログラム言語では、配列の先頭要素番号が「1」としてアルゴリズムが考えられていました。

  • Fortran
  • Pascal
  • Basic(初期)

など

最近、広く使われているプログラム言語では配列の先頭番号が「0」という仕様に変わっています。

  • C
  • C++
  • Java
  • PHP
  • C#
  • VisualBasic

など

現在は、配列の先頭番号「0」が一般的ですね。

変数名i、j、kが利用されるワケ

プログラムを勉強していると、繰り返し処理にi、j、kが慣用的に使われます。
これは、Fortranというプログラミング言語で、i~nで始まる変数名をもつデータ型を持たない変数は暗黙の了解で整数型の変数とされていた名残だそうです。
いろいろな場面に登場するので、ちょっとしたうんちくに使えるかもしれません。(笑)

他には、
数を数えるための変数に「count」「cnt」や
文字列を扱う変数「str」「string」がよく利用されます。

これは、まぁこのままの意味ですね。

知っておくと便利なアルゴリズムの種類

プログラミングをしていく上で、知っておくと便利なアルゴリズムたち。

技術計算

  • ユークリッド互助法(最大公約数)
  • ガウスの消去法(連立方程式)
  • 台形法(定積分)
  • ダイクステラ法(最過経路)
  • エラトステネスのふるい(素数)

ソート(並べ替え)

  • 単純選択法
  • 単純交換法(バブルソート)
  • 単純挿入法
  • シェルソート
  • マージソート
  • クイックソート

サーチ(探索)

  • 線形探索(リニアサーチ)
  • 二分探索(バイナリサーチ)

文字列パターン照合

  • 単純文字列照合
  • KMP法
  • BM法

サクラエディタでPHPの色分け設定など

サクラエディタでPHPの色分け設定

「設定」→「共通設定」の「強調キーワード」

C:\Program Files\sakura\keyword から PHP.KWDをインポートします。

「設定」→「タイプ別設定一覧」

スクリーンタブ
設定の名前:PHP
ファイル拡張子:php

カラータブ
強調キーワード1:PHP
コメントスタイル ブロック型:/* ~ */
コメントスタイル 行型://

支援タブ
入力補完機能にPHP.KWDを選択する。

キーワードヘルプタブ
辞書ファイルにphp.khpを選択する。
(C:\Program Files\sakura\keywordから)

PHPのテキストエディタ(Windows)

PHPのテキストエディタ。
PHPの勉強を始めるにあたって重要な気がします。
テキストエディタはいろいろあります。

個人的には
無料のPHPのテキストエディタは
EmEditor Freeサクラエディタが使いやすい。

サクラエディタは、PHPの色分けなどの設定が面倒・・・
EmEditorは、設定しなくても良いので、楽ちんです。
TeraPadはデフォルトでPHPに対応していない。(代用可能)
Eclipseは、PHPの勉強目的には重たすぎます。(テキストエディタじゃないか・・・)
後々Eclipseを使うことを視野に入れているなら、慣れるために使うのは良いかもしれません。

有料なら
秀丸エディタが使いやすい。
DreamWeaverは、便利だけど重たい。(これもテキストエディタじゃないか・・・)

秀丸エディタは、『フリー制度』というものがあり、学生で金銭的に難儀な方を対象に無料でライセンスを配布してくれます。
しかし、学校卒業後は対象外です。
学生のときに無料で使わせてもらったら、慣れるし、何より恩を感じて使い続けちゃいそうですね。

無料テキストエディタ

EmEditor Free
サクラエディタ
Eclipse

有料テキストエディタ

秀丸エディタ

他にもいろいろありますが、自分にあったテキストエディタを見つけるとストレスなく勉強が進めることができると思います。

PHPとは

PHPとは

PHPとは(Hypertext Preprocessorの略)で、動的にWEBページを生成するために用いられます。
もともとは、PHPは「Personl Home Pages」だったが、「PHP Hypertext Preprocessor」ってことになりました。
URLの最後が「.php」となっているWEBページはPHPで生成されています。

PHPはどんな場面で使われているのか?

ショッピングサイトや掲示板やブログなど、PHPが使われています。
WEBを勉強していく上で、避けられないプログラム言語です。

PHPは手軽に学べる

HTMLの中に埋め込むことができて、使いやすい。そして、普及しています。
テキストエディタとブラウザとサーバーがあればすぐに始めることができる手軽さです。
XAMPPをインストールすれば、自分のPC内ですぐに始められます。)
そして、PHPを始めるにあたって、お金がかかりません。

PHPは比較的容易なので、初心者にもやさしい言語です。
それでも、オブジェクト指向の機能や、アプリケーションフレームワークを活用すれば、ある程度の大規模な開発もできます。

最新バージョンはPHP5.3.3となっています。

今からプログラマー「プログラミン」

文部科学省が公開しているプログラマー体験「プログラミン」。

プログラミン

プログラミン

子供が対象のようですが、大人も楽しめます。
自分の絵を用意されている動きや音(プログラム)の組み合わせでプログラマーになっちゃおう!
みたいな感じです。(たぶん)

プログラミン 使い方

プログラミン 使い方

Flashなどでプログラミングで挫折した人は「プログラミン」で遊んでみると、頭の中が整理されるかも!
プログラミングに興味あるけど、環境つくったりソフトインストールしたりが面倒だった人もサイトにアクセスするだけで良いのでどうでしょうか?
(Flash Playerは必要だけど)

プログラミン

しかし文部科学省は外注で作ったんだろうか??
外注なら結構な金額になりそうだけど・・・