Blaze7451/Wiki-ja-20250601 huggingface dataset:
隠語

隠語（いんご、Jargon）とは、ある特定の専門家や仲間内だけで通じる言葉や言い回しや専門用語のこと。外部に秘密がもれないようにしたり、仲間意識を高めたりするために使われる。

**概要**
隠語とは仲間内でのみ通用することを目的にした語である。暗語（あんご）、集団語（しゅうだんご）などともいう。
もともと特定の集団においては、細かな微妙な内容を効率的に表現するため、専門家の間では専門用語、特定の業界人の間では業界用語が用いられる。
「隠語」は英語ではsecret word、cant、jargon、secret languageなどと訳される。ただし、厳密にはジャーゴン（jargon）は客観的に専門家や業界人など限られた人間にしかわからない語をいい、回りくどい説明をしなくても特定の概念を表現することを目的としているのに対し、「隠語」はあえて仲間内にのみ通用することを目的として用いられる語であるとして、違いが指摘される。
隠語には次のような機能がある。
# 外部の人間に話の内容を知られないよう隠蔽する機能
# 集団内で仲間意識を高める機能
また、隠語には言葉遊びの性質もある。
隠語は内容がわかるか否かで内部と外部を分け、わからない人間は疎外感を味わうこともあるため、隠語は一般的には品位を伴うものとはみなされていない。

**日本語の隠語の例**
流通業や小売業などで使われる符丁（符牒）なども隠語の一種と考えられる。百貨店などの対面販売を重視する店舗では、顧客を尊重し不快な思いをさせないよう、「食事休憩」「トイレ」などの店員同士の会話・連絡の際に、各店舗ごとに異なる符丁でその事を伝える風習がある。また、得意客を一般客から区別するために特別な呼称を用い、これがある種のステータスともなり半ば伝統化している例もある。
犯罪者や警察官などが、集団外の人間に話している内容が知られては困る場合にわざと使う用語もこれに含まれる。法曹関係者、建設業従事者、芸能界関係者、マスメディア関係者、風俗業関係者などの間で用いられる、一般人には理解できないような言い回しなどもこれに入る。
医師や看護師などの医療関係者の場合、患者と家族の前で仕事を行うことになるため、あえて部外者には分からない言い回しを使うことによって、仕事を行いやすくする目的もある。例えば「エッセン」（食事休憩のこと。ドイツ語の essen（食べる）に由来）「拾う」（当直のさいに患者の死に遭遇すること。ドイツ語の sterben（死ぬ）から「シュテルベン→捨てる→拾う」という語呂合わせ）など。
日本の警察の場合「マル＋漢字1文字」で表す隠語がよく使われることが知られている。「マル暴（暴力団員または暴力団対策課）」「マル被（被疑者）」「マル害（被害者）」「マル目（目撃者）」「マル運（運転手）」「マルタイ（SPによる警護対象者・捜査機関による捜査対象者など、警察業務上何らかの対象となっている人物）」「マル走（暴走族）」「マル自（公安部監視対象の極右思想に傾斜した自衛官）」「マル有（有線電話―警察無線に対して）」など。そのほか、短く略す「公妨（公務執行妨害）」などのように想像が付きやすい隠語もあるが、「ナシ割り（遺留品捜索）」「エス弾（煙状催涙ガス弾）」「ノビ（家宅侵入）」など一般人にはわかりにくい隠語もある。
業務無線では「通話コード」と呼ばれる、特定語に対応させた3桁の数字や3文字のアルファベットを用いて通信を行なう団体もある。
寄席芸人の隠語として「カゼ（扇子）」「マンダラ（手拭い）」「タロ（給料、金銭）」「タレ（女性）」「キン（観客）」「ドサ（田舎）」などがある。
客室乗務員の隠語では「UUU」というものがある。同じ便に乗り組む同僚に、注文の多い乗客についての注意喚起をするもので「Urusai」（うるさい）の3回繰り返しの頭字語。
旧日本海軍にも数多くの隠語が存在しており、「赤レンガ（霞が関にあった海軍省）」「レス（料亭）」「エス（芸者）」「ケップ（キャプテン・艦長）」「ケプガン（ガンルームすなわち士官次室の先任者）」「マリる（マリッジすなわち結婚する）」「CO（コーヒー）」「アドヴァンス（給料の前借り）」「マイナス（借金、付け。戦死した士官が料亭などに遺した「マイナス」は兵学校などの同期生が肩代わりして「マイナス」を支払うのが慣例で、戦争中は「○○（人名）のマイナス全部でいくつある？」になると「○○は戦死した」という婉曲表現にもなったという）」「ホワイト（芸者以外の、いわゆる素人女性。芸者などの「玄人」はブラックと呼んでいた）」「ウー（女性、ウーマンの略）」「手荒く（非常に・とても）」などの主に士官間で通じる士官用語や、「バス（風呂）」「オスタップ（ウォッシュタブすなわち桶）」「ジョンベラ（水兵服または水兵そのもの）」「楽長（進級が非常に遅い人）」「ジャクる（進級が遅れて拗ねてしまい極めて機嫌が悪いこと）」「司令官（立派なカイゼル髭を蓄えた古参兵）」「銀蠅（軍艦などに貯蔵している食糧や酒を拝借すること）」などの下士官・兵の間で用いられた用語、「陸さん・陸助・陸式・馬糞」（陸軍）、「修正（殴ってわからせる教育的指導）」などの共通用語があった。なお、旧海軍の事実上の後継者であり、慣習なども受け継いでいる海上自衛隊ではこれら隠語はあまり使用されていないようである。
鉄道でもJRを通じて全国で広く使われている隠語や各社で異なる隠語が存在する。「ラッチ（改札の鋏入れ）」「ナキヤ（アナウンス係）」「マグロ（轢死体）」など。電報略号から発生した略称もある。
相撲界、プロレス界では、「ちゃんこ（食事）」、「金星（美女）」、「お米（金）」、「ごっつあんです（ありがとうございます）」、「ガチンコ（真剣勝負）」、「タニマチ（スポンサー、支援者）」など。大相撲隠語一覧も参照。

**海外における隠語**
インターネットでの言論を厳しく監視・規制している中国では、当局の検閲対象である「敏感詞」を回避するため隠語が生み出され、その隠語が新たに規制されるいたちごっこが続いている。隠語の例としては「デモ」→「散歩」、「習近平」→「くまのプーさん」「ジャイアン」、六四天安門事件関連におけるほぼ全ての隠語などがある。

**脚注**

**注釈**

**出典**

**関連項目**
 専門用語 / 業界用語（符丁（符牒）・ケーフェイ） - 女房言葉- 性風俗用語一覧- 若者言葉- 廃語（死語）- 俗語 - スラング / ジャーゴンファイル（ハッカー俗語）- 略語 - 電報略号- 卑語

**外部リンク**
  陸軍省朝鮮軍管区司令部築第12701部隊『地名等隠語集』1945年（国立公文書館）
マージソート

マージソートの様子
マージソートは、ソートのアルゴリズムで、既に整列してある複数個の列を1個の列にマージする際に、小さいものから先に新しい列に並べれば、新しい列も整列されている、というボトムアップの分割統治法による。大きい列を多数の列に分割し、そのそれぞれをマージする作業は並列化できる。
n個のデータを含む配列をソートする場合、最悪計算量O(n log n)である。分割と統合の実装にもよるが、一般に安定なソートを実装できる。インプレースな（すなわち入力の記憶領域を出力にも使うので、追加の作業記憶領域を必要としない）バリエーションも提案されているが、一般には、O(n)の追加の作業記憶領域を必要とする。
（ナイーブな）クイックソートと比べると、最悪計算量は少ない。ランダムなデータでは通常、クイックソートのほうが速い。
1945年、フォン・ノイマンによって考案された。

**アルゴリズム**
基本的な手順は以下の通りである。
#データ列を分割する（通常、二等分する）
#分割された各データ列で、含まれるデータが1個ならそれを返し、2個以上ならステップ1から3を再帰的に適用してマージソートする
#二つのソートされたデータ列（1個であればそれ自身）をマージする
ステップ1と2の途中（すなわち細分化するまでの部分）についてこのアルゴリズムの手順に含めず、あらかじめ局所的に整列されている多数の列が与えられるもの、とすることもある。後述する、テープをマージする手法の場合、最初のテープから主記憶を可能な限り全部使って整列できるだけ整列した部分列を、順次書き出したテープから始める。
ステップ3のマージでは、2本のデータ列の先頭同士を比べ小さい方をデータ列から取り出して出力し、残りのデータをもつ2本のデータ列に対して再帰的に同じ処理を、両方が空になるまで行う。ソートすべきデータ列が部分的に順次得られる場合、オンラインアルゴリズムとして、部分データ列をソートして後でマージするという変形も可能である。
クイックソート等と同様、完全に細分化せずにスレッショルドとして適度に大きい個数を設定し、それ以下になった時点でなんらかの「ごく少数の対象専用の高速なコードによるソート」を併用するという高速化手法がある。手順として書き出すと次のようになる。
#データ列を分割する（通常、二等分する）
#分割された各データ列で、含まれるデータが設定個数以下ならそれを別の高速なアルゴリズムでソートして返し、設定個数超ならステップ1から3を再帰的に適用してマージソートする
#二つのソートされたデータ列をマージする
他に特殊な応用例として、外部ソートの1手法でテープ（のようなシーケンシャルアクセスメディア）に収められたデータをソートする、というものがある。最も単純な、4本のテープを2本ずつ使う「平衡2系列マージ」を例に説明する。まず元のデータから、利用可能な内部記憶をできるだけ使って、部分的に整列されている列をテープに書き出す。この時、2本のテープに交互に書き出すようにする。
次に、2本のテープのそれぞれの先頭部分にある、それぞれの部分列をマージしながら、別の2本のテープに交互に書き出す。この操作により、より長い整列した列が得られる。全てのマージが終わったら、コピー元とコピー先を入れ替え、同様に繰り返す。繰返し毎に各部分列の長さは約2倍に、列の個数は約半分になると期待できる。
最終的に、テープを切り替えることなく、1本のテープに全てのデータが出力されたら完了である。この技法はコンピュータがまだ高価で、テープが大容量外部記憶の主力だった時代にさかんに研究され、さまざまなバリエーションが編み出された。『The Art of Computer Programming』の§5.4にそれらの詳細がある。

**実装例**

**C**
#include 
void merge(int A, int B, int left, int mid, int right) {
int i = left;
int j = mid;
int k = 0;
int l;
while (i 

**Ruby**
def mergesort lst
return _mergesort_ lst.dup  # 副作用で配列が壊れるので、複製を渡す
end
def _mergesort_ lst
if (len = lst.size) > 1)
return _merge_(_mergesort_(lst), _mergesort_(lst2))
end
def _merge_ lst1, lst2
len1, len2 = lst1.size, lst2.size
result = Array.new(len1 + len2)
a, b = lst10, lst20
i, j, k = 0, 0, 0
loop {
if a 

**Haskell**
（※ Haskellのリストは「長さを測って半分ずつに分ける」という操作には適さないため、要素を1個ずつ振り分ける関数を使っている。この実装では安定ではない）
mergesort :: Ord t => t -> t
mergesort lst = case lst of
-> lst
_ -> lst
_   -> merge (mergesort a) (mergesort b)
where
(a, b)  =  split lst
merge      =  
merge xxs    =  xxs
merge   yys  =  yys
merge xxs@(x : xs) yys@(y : ys)

x 

**Scheme**
; use-modules は 処理系 Guile 固有の機能である。
; SRFI 機能を使うための仕組み処理系に依る。
(use-modules (srfi srfi-1 )) ; split-at
(use-modules (srfi srfi-11)) ; let-values
(define (merge left-half right-half)
(let loop ((ls left-half) (rs right-half) (result (list)))
(cond
((null? rs) (append (reverse result) ls))
((null? ls) (append (reverse result) rs))
(else
(let ((l (car ls)) (r (car rs)))
(if (

**アルゴリズムの動作例**
初期データ: 8 4 3 7 6 5 2 1
# データ列を二分割する。
#: 8 4 3 7 | 6 5 2 1
# もう一度、二分割する。
#: 8 4 | 3 7 | 6 5 | 2 1
# 各データ列にデータ数が2以下になったところで、各データ列内のデータをソートする。
#: 4 8 | 3 7 | 5 6 | 1 2
# この例の場合は、右2つのデータ列、左2つのデータ列をそれぞれマージとソートし、2つのデータ列にする。
#: 3 4 7 8 | 1 2 5 6
# 2つのデータ列をマージとソートする。
#: 1 2 3 4 5 6 7 8

**脚注**

**関連項目**
 マージ

**外部リンク**
 マージソートコード(英語)
安定ソート

安定ソート（あんていソート、stable sort）とは、ソート（並べ替え）のアルゴリズムのうち、順位が同等な複数のデータのソート前の前後関係が、ソート後も保存されるものをいう。つまり、ソート途中の各状態において、常に順位の位置関係を保っていることをいう。
たとえば、学生番号順に整列済みの学生データを、テストの点数順で安定ソートを用いて並べ替えたとき、ソート後のデータにおいて、同じ点数の学生は学生番号順で並ぶようになっている。
*生徒番号015が012の先に来ており、また014も010より先に来ている。
*元の生徒番号順が保持されていないため不安定ソートとなる。
安定でないソート法を用いる場合でも、整列したいデータに元のデータ列の順序を追加しておき、ソートする際にその情報を参照するようにすれば、安定ソートに変更できる。形式的には、ソートしたい項目と元の順番を表す項目のペアを辞書式順序でソートする、ということである。この方法は（入力データ自体が元々順番を表す項目を含んでいるのでない限り）元の順番を表す情報を記憶する必要がある。すなわち、長さ n の入力に対し、0 から n-1 までの連番を一時的に記憶するのだから、 の記憶容量を必要とする（必要となる一時変数の個数という意味では ）。したがって内部ソートが必要な場合には使えない。

**関連項目**
基数ソート（ラディックスソート）
*逆写像ソート
*シェーカーソート
*挿入ソート
*バケットソート
*バブルソート
*マージソート
アントニー・ホーア

チャールズ・アントニー・リチャード・ホーア（Charles Antony Richard Hoare、1934年1月11日 - ）は、イギリスの計算機科学者。通称はトニー・ホーア（Tony Hoare）またはC・A・R・ホーア。
クイックソート（一般的な場合には最も性能の良い実装ができるとされるソートアルゴリズム）の考案でも知られるが、専門的な業績としては、ホーア論理や、並行プロセスを形式記述するCommunicating Sequential Processes（CSP）などがある。CSPはプログラミング言語Occamに示唆を与えた。

**経歴**
イギリス領セイロンのコロンボにてイギリス人の両親の元に生まれた。1956年にオックスフォード大学にて西洋古典学の学士号を取得。 その後オックスフォード大に1年残って大学院相当の統計学を学ぶ。1956年から1958年までイギリス海軍で兵役に就く。そしてソビエト連邦のモスクワ大学にてロシア語を学ぶと同時に、自然言語の機械翻訳について研究を始める。
1960年、エリオット・ブラザーズ社という小さなコンピュータ製造会社にて仕事を始め、ここで ALGOL 60 を実装、各種アルゴリズムの開発に本格的に着手する。1968年にはクィーンズ大学ベルファスト校で計算機科学の教授となり、1977年にはオックスフォードに戻ってコンピューティングの教授となり、クリストファー・ストレイチーの死に伴ってオックスフォード大学コンピューティング研究所（現在の計算機科学科）プログラミング研究部門を指揮するようになった。現在彼は同大学の名誉教授であり、イギリスケンブリッジのマイクロソフト リサーチの主任研究者でもある。
主な研究業績としては、ソートアルゴリズム（クイックソート）、ホーア論理、並行プロセスの相互作用などを形式的に記述し、検証などを行える形式体系（formal system）であるCommunicating Sequential Processes（CSP）、モニタの概念を使った構造化オペレーティングシステム、プログラミング言語の公理的意味論などがある。

**語録**
有名な「97%ぐらいの場合、小さな効率については考えるべきではない。早まった最適化は諸悪の根源だ。」という引用句はドナルド・クヌースのものであると考えられる 。クヌース自身はホーアの言葉だと述べているが、ホーア自身はそれを否定している。
また、複雑すぎないソフトウェアシステムを作成する困難さについて次のように述べている。
1995年には独自の考え方を考察している。
2009年のカンファレンスでNull参照を発明したことについて謝罪している。

**栄誉・受賞歴**
 1980年 - "プログラミング言語の定義と設計に対する彼の基礎的な貢献"に対してACMチューリング賞を受賞。同賞は1980年10月27日、テネシー州ナッシュビルで開催されたACM大会にて、同賞の評議会議長であるウォルター・カールソンから授与された。受賞講演の記録は、Communications of the ACM 誌に掲載された。- 1981年 - Harry H. Goode Memorial Award (IEEE Computer Society)- 1982年 - 王立協会フェロー。- 1985年 - ファラデー・メダル- 1987年 - 名誉博士号（クイーンズ大学ベルファスト）- 1993年 - 名誉博士号（バース大学）- 2000年 - ナイトに叙される。- 2000年 - 京都賞先端技術部門- 2005年 - Royal Academy of Engineeringフェロー- 2006年 - コンピュータ歴史博物館フェロー- 2007年 - 名誉博士号（ギリシャの Athens University of Economics and Business）- 2011年 - IEEEフォン・ノイマンメダル- 2023年 - ロイヤル・メダル

**著作**
 Structured Programming. (1972) オーレ＝ヨハン・ダール、エドガー・ダイクストラ との共著、Academic Press. ISBN 0-12-200550-3. 23937947- Communicating Sequential Processes. (1985) (available online at http://www.usingcsp.com/ in PDF format). Prentice Hall International Series in Computer Science. ISBN 0-13-153271-5 hardback or 0-13-153289-8 paperback- Mechanised Reasoning and Hardware Design. (1992) label=M. J. C. Gordon との共著、Prentice Hall International Series in Computer Science. ISBN 0-13-572405-8. 25712842- Unifying Theories of Programming. (1998) He Jifeng との共著、Prentice Hall International Series in Computer Science. ISBN 0-13-458761-8. 38199961

**注釈**

**出典**

**参考文献**
 Cite report| df= ja | url= http://archive.computerhistory.org/resources/access/text/Oral_History/102658017.05.01.acc.pdf | title=Oral History of Sir Antony Hoare |publisher=Computer History Museum |first=Jonathan | last=Bowen | date=2006-09-08 | work=Hoare (Sir Antony, C.A.R.) Oral History, CHM Reference number: X3698.2007 | accessdate=2011-10-23-  editor=Shustek, Len

**外部リンク**
  公式ウェブサイト-  Microsoft home page — 略歴-  Oral history interview with C. A. R. Hoare at Charles Babbage Institute, University of Minnesota, Minneapolis.-  List of publications from the DBLP Bibliography Server-  List of publications from the Microsoft Academic Search-  モニタに関する古典的論文 — モニタについての最初の文論-  CSPコンソーシアム
直角三角形

とは、2つの辺が直角をなす三角形である。記号⊿ を使って表すことがある。
直角三角形においては、直角である内角は、他の2つの内角よりも大きくなる。直角三角形の直角以外の2つの角を、直角三角形の鋭角と呼ぶ。直角三角形の2つの鋭角の和は、直角に等しい。
直角三角形の直角の対辺を斜辺と言い、残りの2辺を、直角をはさむ2辺または単に隣辺と言う。
直角三角形の3辺の間には、長さについて三平方の定理の関係がある。
直角の頂点を直角頂と呼ぶ。直角頂は垂心に等しい。

**直角三角形の角**
直角三角形の定義は 1つの内角が直角（90°）であることであるが、内角の和は 180°であるから、直角である内角はその1つだけである。直角でない2つの内角はどちらも鋭角（90°未満の角）であり、それらの和は直角に等しい。

**直角三角形の斜辺**
直角三角形の斜辺の中点は、3頂点まで等しい距離にある（外心）。このことと三角不等式から、直角三角形の斜辺は、3辺のうち最も長いことが導かれる。
直角三角形の斜辺の長さは、外接円の直径に等しく、また、直角をはさむ2辺の長さの和から、内接円の直径を引いた差に等しい。
合同な2つの直角三角形から、斜辺だけ重ねると、長方形ができる。直角三角形は面積 ab の長方形を1本の対角線で区切って2等分した図形なので、面積は  である。
また、合同な2つの直角三角形を、隣辺の1つずつだけ重ねると二等辺三角形ができる。2つの合同な三角形を1辺ずつだけ重ねて別の三角形ができるのはこの場合に限られる。

**直角三角形の面積**
直角三角形の面積は、直角をはさむ2辺の長さの積の  に等しい。

**勾股定理**
直角三角形の斜辺を一辺とする正方形の面積と、直角をはさむ2辺をそれぞれ一辺とする正方形 2個の面積の和は等しい。すなわち、斜辺の長さを c、直角をはさむ2辺の長さをそれぞれ a, b とすると、それらの2乗について以下の等式が成り立つ：

この定理は三平方の定理として知られている。
三平方の定理は逆も成り立つ。すなわち、上記の等式を満たす三角形は直角三角形に限られる。

**合同条件**
直角三角形にも合同条件がある。
合同条件の図解合同条件の図解
*斜辺と一つの鋭角がそれぞれ等しい。(右図で、AC=DF,θ=δのとき)
*斜辺の他の1辺がそれぞれ等しい。(右図で、AC=DF,AB=DEのとき)

**三角関数**
三角関数を幾何学的に定義するには、直角三角形を利用する。鋭角 A に対する斜辺 c、隣辺 a、対辺 b により



で定義する。

**三角定規**
三角定規は直角三角形であり、2つの鋭角が 30°, 60°の半正三角形（正三角形を半分にしたもの）と底角がともに 45°である直角二等辺三角形の2枚が1組となっているのが一般的である。半正三角形の長い方の隣辺と、直角二等辺三角形の斜辺の長さは同じ場合が多い。これらを使って平行線や垂線を容易に作図できる。

**三辺の長さが整数になる直角三角形**
直角三角形の3辺の長さになる3整数の組をピタゴラス数という。ピタゴラス数は , (a, b, c) はどの2つも互いに素、k は自然数) の形になり、下の式で表される：
 
（a, b は順不同） 
ここで m, n は自然数で- m, n は互いに素- m > n- m と n の奇偶は異なる（一方が奇数で他方が偶数）
を満たす。
自然数 m, n が上記の3条件を満たせば、重複なく全てのピタゴラス数を導出できる。上記の3条件を満たす自然数 m, n は無数にあるため、(a, b, c) は（つまりピタゴラス数は本質的に）無数にある。

**名称の変遷**
明治初期の日本では、直角三角形は「勾股弦の形」と呼ばれていた。この名の起源は漢の『九章算術』「勾股」章にまで遡ることができる。なお、『九章算術』は現代の中国はもちろんのこと、日本の和算にも引き継がれている。また「勾股弦」の語は現在の日本の伝統建築の規矩術でも用いられている。（斜辺を「玄」、隣辺を「勾」、「殳」と表す。）

**脚注**

**外部リンク**
 直角三角形の定義とさまざまな公式
選択ソート

選択ソート（selection sort）は、ソートのアルゴリズムの一つ。
配列から最小値を探し、配列の先頭要素と入れ替えていくことで並べ替える。
最良時間計算量は math|O(n2) と遅いため、一般にはクイックソートなどのより高速な方法が利用される。しかし、空間計算量が限られるため他の高速な手法が使えない場合や、ソートする配列が充分小さく、選択ソートが高速に動作することが保証されている場合に利用されることがある。
選択ソートは内部ソートである。また、安定ソートではない。
選択ソートの改良として、ヒープソートが挙げられる。

**アルゴリズム**
Selection-Sort-Animation
選択ソートは以下の手順で行う：
# 1 番目の要素から最後尾の要素までで最も値の小さいものを探し、それを 1 番目の要素と交換する（1番目の要素までソート済みとなる）
# 以降同様に、未ソート部分の最小要素を探索し、未ソート部分の先頭要素と交換する
# すべての要素がソート済みになったら処理を終了する
上記は昇順への並べ替えだが、降順の場合も同様に、最小値でなく最大値を検索することで実現できる。
また、各ループ毎に最小値と最大値との両方を探し、両端の要素を同時に確定させる手法もあり、double selection sortと呼ばれる。

**擬似コード**
for I := 1 to N
min := I
for J := I+1 to N  
if dataJ 

**動作例**
初期データ: 8 4 3 7 6 5 2 1　
太字はソート完了した部分
 1 4 3 7 6 5 2 8 （1回目のループ終了時）
 1 2 3 7 6 5 4 8 （2回目のループ終了時）
 1 2 3 7 6 5 4 8 （3回目のループ終了時）
 1 2 3 4 6 5 7 8 （4回目のループ終了時）
 1 2 3 4 5 6 7 8 （5回目のループ終了時）
:この例では、一見して、この時点で既にソート完了したとわかる。しかしデータが多数の場合はそうはいかないし、アルゴリズムで「一見して」ソート完了か否か判断できない。アルゴリズム通りに最後まで処理する必要がある。
 1 2 3 4 5 6 7 8 （6回目のループ終了時）
 1 2 3 4 5 6 7 8 （7回目のループ終了時）

**計算時間**
以下、ソートする配列の要素数を n とする。
要素の比較に関して、各ループで n − 1 回、n − 2 回、……と行われ、処理全体としては  回行われる。
要素の交換に関して、各ループで最大1回行われ、処理全体では多くとも n − 1 回となる。
バブルソートと比較すると、要素の比較回数は同じだが交換回数が少ないため、選択ソートの方が高速である。

**安定性**
選択ソートは安定ソートではなく、複数の同値の要素を持つ配列に対して、同値の要素同士の順序は保存されない。
例えば配列 (2a 2b 1) に対して選択ソートを行うと、
 2a 2b 1 （初期状態）
 1 2b 2a （1回目のループ終了時）
 1 2b 2a （2回目のループ終了時）
 1 2b 2a （終了状態）
となる（2a, 2b は同値とする）。ソートの前後で 2a, 2bの順序が変更されており、安定でないことが確かめられる。

**実装**

**Python**
Python での実装例を示す。
In-place 版の実装は以下の通り。
def minIndex(x, i):
mi = i
for j in range(i + 1, len(x)):
if xj 
非 in-place 版は上記に配列のコピーを渡すことで実現できるが、例えば以下のように直接実装することもできる。
def nonInplaceSelectionSort(seq):
ind = *range(len(seq))
res =     
for i in range(len(seq)):
k = 0
for j in range(len(ind)):
if seqindj 

**C#**
C# での実装は以下の通り。
namespace Algorithms
{
class SelectionSort
{
static void sort(int x) {
for(int i = 0; i 

**Scheme**
Scheme での実装を以下に示す。
(require-extension srfi-1)              ; 実装依存。SRFI-1 と言うライブラリを用いる。
(define (selection-sort ls)
(let loop ((ls ls) (acc '()))
(if (null? ls)
(reverse acc)
(let ((x (apply min ls)))
(loop (remove (lambda (y)
(= y x)) ls) (cons x acc))))))
石津彩

石津 彩（いしづ あや、1972年2月22日 - ）は、日本の女優、声優。テアトル・エコーt-echo.coに所属していた。東京都出身t-echo.co。

**略歴**
小さい頃から学芸会などたくさんの人物の前に立って何かに表現することが好きで、小学校時代から高校時代まで演劇部で活動していた。
女子美術大学附属高等学校で油絵、水彩等絵画を学ぶarchive。当時は美術を専攻していたが、結果として本当にやりたかった演劇の道を選ぶ劇団。家族も皆「ほんとうにやりたいのなら」と希望を認めてくれて応援してくれたという劇団。「本格的に演劇をやりたい」と思い始めた時、親しい人物に相談していたところ、その人物から「きちんと劇団の養成所に入って演技の勉強をした方が良い」というアドバイスをくれたという劇団。親切に色々な劇団を紹介してくれたが、そのうちの一つがテアトル・エコーであり、劇団員の募集に応募していたという劇団。元々「喜劇をやりたい」という気持ちもあったため、方向性と劇団のイメージがぴったり合ったというのがテアトル・エコーを目指すきっかけになったという劇団。同美術大学附属高等学校卒業後にテアトル・エコー付属養成所（16期生）に入り、後にテアトル・エコー所属となるarchive。
初舞台は外部の劇団の芝居で、養成所の講師から誘われたのがきっかけで面接で決まったという劇団。

**人物**
父は作家の磐紀一郎、近所に漫画家のすがやみつるが住んでいたことから、すがやとは幼少時から交流がある。
趣味は食玩コレクション、ぴちょんくんコレクションarchive。特技は初段、ヘアメイクarchive。

**出演**
太字はメインキャラクター。

**テレビアニメ**
1995年- ぼのぼの（コヒグマくん、コクジラくん）- ロミオの青い空（ニキータ）
1996年- 魔法少女プリティサミー（美由紀〈ミセス・ワン〉）
1998年- MASTERキートン（アベック〈女〉）
2000年- ワイルドアームズ トワイライトヴェノム（ジュリエッタ）
2001年- 超GALS! 寿蘭（本多マミ）
2002年- 十二国記（杉本優香、幼少の六太）
2003年- 鋼の錬金術師（バリー〈女装〉）
2004年- MONSTER（ルンゲの娘）
2008年- 秘密 〜The Revelation〜（浅見さち絵）

**OVA**
1992年- 世界の光 親鸞聖人（鈴虫）
1996年- 同級生2（水野友美）

**劇場アニメ**
1996年- APO APOワールド ジャイアント馬場90分一本勝負（女の子）

**ゲーム**
2003年- 十二国記 -紅蓮の標 黄塵の路-（杉本優香）
2005年- うるるんクエスト恋遊記（朱華）
2006年- ラスト・エスコート〜深夜の黒蝶物語〜（西園寺絢子）- ラスト・エスコート〜黒蝶スペシャルナイト〜（西園寺絢子）

**ドラマCD**
 クラッシャーズ Knight&Ran II 〜海に眠る夢〜（2000年、水原孝）

**吹き替え**

**担当女優**

**映画**
 アナコンダ3- オーシャンズ11  - フジテレビ版- オフロでGO
タイムマシンはジェット式- ガリバー旅行記- パブリック・エネミーズ（ビリー・フレシェット〈マリオン・コティヤール〉）

**ドラマ**
 ER XI 緊急救命室 #7（トリナ〈アレクサンドラ・クロスニー〉）- ER XIV 緊急救命室 #8（マーカス・ファネカ〈ディラン・マクラフリン〉）- エイリアス（ルネ・リエンヌ〈エロディ・ブシェーズ〉）- NCIS 〜ネイビー犯罪捜査班- 新ビバリーヒルズ青春白書- パワーレンジャーシリーズ
** パワーレンジャー（シルビア）- ミス・マープル2 動く指（ジョアナ・バートン）- ミス・マープル4 ポケットにライ麦を（グラディス・マーティン）

**アニメ**
 ザ・シンプソンズ（少女）- トイ・ストーリー（アンディの友達、女）- ドン・キホーテ（レアンドロ、女の子）

**舞台**
 ダニエルのとんだ休日（イザベル）- リチャード三世（小エリザベス）- ちぇんじ!（三の姫）- ちゃんとした道（若い女）- ブローニュの森は大騒ぎ（ニッキー）- 影武者騒動（小四郎）

**その他**
 衛星アニメ劇場（NHK-BS2）- こどもにんぎょう劇場「そりすべり」（ウサギ、カラス）（NHK教育）- たっくんのオモチャ箱（たっくん〈山本拓也〉の声〈2代目〉）（NHK教育）- コメディーお江戸でござる（NHK：出演）

**出典**

**外部リンク**
  aya-maniacs（オフィシャルブログ）date=2019年10月- date=20210804041353
挿入ソート

挿入ソート（そうにゅうソート、insertion sort）あるいは基本挿入法は、ソートのアルゴリズムの一つ。整列してある配列に追加要素を適切な場所に挿入すること。
時間計算量は平均・最悪ケースでともに math|Ο(n2) であり、クイックソートやマージソートなどと比べれば遅い。しかし、- アルゴリズムが単純で実装が容易- 小さな配列に対しては高速- 安定- in-placeアルゴリズム- オンラインアルゴリズム
などの特徴から利用されることがある。
挿入ソートを高速化したソート法として、シェルソートが知られている。

**アルゴリズム**
まず0番目と1番目の要素を比較し、順番が逆であれば入れ換える。次に、2番目の要素が1番目までの要素より小さい場合、正しい順に並ぶように「挿入」する（配列の場合、前の要素を後ろに一つずつずらす）。この操作で、2番目までのデータが整列済みとなる（ただし、さらにデータが挿入される可能性があるので確定ではない）。このあと、3番目以降の要素について、整列済みデータとの比較と適切な位置への挿入を繰り返す。

**動作例**
整列された部分（確定とは限らない）をアンダーライン、挿入する部分を太字で表す。

**実装**

**C言語**
void 
insertion_sort(int data, size_t n) {
for (size_t i = 1; i  datai) {
size_t j = i;
int tmp = datai;
do {
dataj = dataj - 1;
j--;
} while (j > 0 && dataj - 1 > tmp);
dataj = tmp;
}
}
}

**Scheme**
(define (insertion-sort ls)
(define (insert x ls)
(let loop ((ls ls) (acc '()))
(if (null? ls)
(append acc (cons x ls))
(let ((y (car ls)))
(if (

**計算時間**
バブルソートと比較すると、「交換回数」は等しくなる。しかし、「比較回数」は、バブルソートでは必ずn(n-1) / 2回必要だったが、挿入ソートはこれ以下で済むため、挿入ソートの方が高速である。また、ほとんど整列済みのデータに対しては高速という特徴を持っている。
なお交換回数に関しても、前記実装例のように一連の交換の途中の特定処理を省略することができるので交換一回が高速になる。また、特にデータが連結リストで格納されている場合には、バブルソートと比較して大幅な高速化が図れる。これは配列における「挿入」が一連の交換（の途中の特定処理を省略した処理）によって実現されるのに対し、連結リストでは文字通りの「挿入」が可能であるので、交換回数が大幅に減少するからである。

**二分挿入ソート**
挿入ソートの改良で、挿入するデータの前ではソートが済んでいるという性質を利用して、挿入する箇所を二分探索するというものである。データの量が少ないときにはあまり効果がないが、多いときには比較回数が少なくなる。探索アルゴリズムによっては不安定なソートになるが、工夫により安定させることが可能である。
女房言葉

女房言葉（にょうぼうことば、女房詞）とは、室町時代初期頃から宮中や院に仕える女房が使い始め、その一部は現在でも用いられる隠語的な言葉である。語頭に「お」を付けて丁寧さをあらわすものや、語の最後に「もじ」を付けて婉曲的に表現するもじことばなどがある。女中詞（じょちゅうことば）とも。
省略形や擬態語・擬音語、比喩などの表現を用いる。優美で上品な言葉遣いとされ、主に衣食住に関する事物について用いられた。のちに将軍家に仕える女性・侍女に伝わり、武家や町家の女性へ、さらに男性へと広まった。
有職故実書『海人藻芥』や『日葡辞書』・『日本大文典』などのキリスト教宣教師による日本語本にも一部が記されている。

**女房言葉の事例**

**語頭に「お」が付く**
 おかか（鰹の削り節）
** 「お」＋「鰹節」の「か」を2回重ねたものか。- おかき（欠餅）
** 当初は「鏡餅」を砕いて焼いて食べたことから。- おかず（御菜）
** 惣菜は数々取り揃えるものであることから。- おかべ（豆腐）- おかちん（餅 江戸時代）
** 「お」＋餅を意味する古語「搗飯（かちいい）」が訛った「かちん」。内親王が初経を迎えると「赤のおかちん」を食べて祝った。- おから
** 大豆から豆乳を絞った後の残りかす。- おこわ（強飯：こわめし）- おさつ（薩摩芋：さつまいも）- おじや（雑炊）
** 「じやじや」という煮える時の音からというが、語源不明。- おすもじ（寿司）- おだい（飯）
** 「御台盤」の略語。食器を載せる脚付きの台の意から、転じてご飯の意になった。- おつけ（吸い物、味噌汁）、おみおつけ（味噌汁）
** 「付け」は飯に付けて出すもののことを言う。本来は吸い物の意であったが、味噌汁のことを、味噌の女房言葉である「おみ」と合わせて「おみおつけ」というようになり、それが略されて特に京阪神で「おつけ」で味噌汁の意としても使われるようになったものである。- おでき（できもの）- おでん（味噌田楽、煮込み田楽）
** おでんは本来は豆腐などを串に挿して味噌などを付けて焼く田楽の意であるが、焼かずに煮て調理する煮込み田楽が普及し、煮込み田楽の意で使われるようになった。
*おなか（腹）- おなら（屁）
** 「鳴らす」から来た語。- おにぎり・おむすび（握り飯）- おはぎ（牡丹餅）
** 小豆の粒を萩の花に見立てた表現。- おはぐろ
** 元は「歯黒め」と言った。- おひや（水）
** お冷。冷水のこと。- おひろい（歩行）動詞「拾う」から変化。- おまる（便器）
** 「放る（まる、ほまる）」は排泄を意味する動詞（例：放屁）。あるいは、衛生を保つ魔除けの「丸」の意味か。- おまわり
** 副食物。- おめぐり
** 副食物。主食を取り巻くように皿を並べることからか。- おまん（饅頭）- およる（寝るの尊敬語）「御夜」の動詞化。
言葉によっては、ごが付く場合もある。- ごん（ごぼう）

**語尾に「もじ」が付く（文字詞）**
 おくもじ（奥さん）
** 「奥様」＋文字- おくもじ（酒、漬物、苦労）
** 「お」は接頭語「御」
** 「九献（くこん）」の「く」＋文字→お酒
** 「茎（くき）」＋文字→漬物
** 「苦労」＋文字→苦労- おめもじ（御目にかかる）
** 「御目にかかる」の「おめ」＋文字- かもじ
** 母または妻「かか」＋文字、付け髪の場合は「髪文字」- くろもじ（植物名及びそれで作った楊枝）- こもじ（鯉）
** 「鯉（こい）」の「こ」＋文字- しゃもじ（杓子）
** 「杓子（しゃくし）」の「しゃ」＋文字- すもじ（寿司）
** 「寿司（すし）」の「す」＋文字- そもじ
** 「そなた」の「そ」＋文字- にもじ（大蒜）
** 「大蒜（にんにく）」の「に」＋文字- はもじい
** 「恥ずかしい」の「は」＋文字- ひともじ（ねぎ）
** 当時「葱」と書いて「き」と一音で読んでいたことから- ひもじい
** 「空腹である」という意味の「ひだるい」の「ひ」＋文字- ふたもじ（にら）
** 「葱（き）」が一文字であるのに対し、「韮（にら）」が二文字であることから。- ゆもじ（浴衣）
** 「浴衣（ゆかた）」の「ゆ」＋文字

**その他**
 あおもの（菜）- あか（小豆）- こうこ（たくあん）- こん（肴）- いしいし（団子）- 青物（野菜）- なみのはな、波の花（塩）- なす、ナス（旧名は奈須比）- みずのはな、水の花、水の華（鮎、鱸）- へちま（糸瓜、旧名はいとうり→とうり）- くのいち（女の漢字、女性の忍び）- まけ（月経）

**脚注**

**典拠・資料**
 日本語解釈活用事典（渡辺富美雄・村石昭三・加部佐助、共編著／ぎょうせい）1993年、ISBN	4-324-03707-8- 古典文学レトリック事典　（國文学編集部編／學燈社）1993年、ISBN 4-312-10038-1- 思わず人に話したくなる続・日本語知識辞典（学研辞典編集部）2003年、ISBN 4-05-401927-7

**関連項目**
 御湯殿上日記

**外部リンク**
  もじことば……文字詞
PC-UNIX

PC-UNIXとは、パソコン(PC)で動作するUNIX互換オペレーティングシステムの総称である。
1980年代終盤まで、UNIXは複数人が利用する高速な汎用計算機か、個人用としてはかなり高価なワークステーションでしか動作しないOSと見られていたが、90年代初頭には一般家庭で使われるようなパーソナルコンピュータの処理能力がUNIXの機能を動作させるためには最低限度の機能を備えたため、UNIXを実装して動作させることが出来るようになった。そのため、高価な汎用計算機のUNIXとの対比という意味でこの名称が用いられている。
ただ、PC-UNIXが提供され始めた頃は、PCの方にUNIXを動かすのに必要な機能(メモリ管理機能)がない場合があり、そのような場合にはメモリ管理機能をハードウェアで提供するための専用ボードが必要な場合もあった。PC9800シリーズ用のPC-UX Ver 1.0はそのような方式であった。
PC-UNIXは、オープンソースソフトウェアあるいは自由ソフトウェアとして提供される物が多いが、プロプライエタリソフトウェアのものも存在する。

**PC-UNIXの例**
MINIX
*CentOS
*Debian
*Linux
*Ubuntu
*FreeBSD
*NetBSD
*OpenBSD
*PANIX
*XENIX
*Solaris/OpenSolaris
*macOS
*QNX
シェルソート

間隔5, 3, 1のシェルソートにおける要素の交換を示した図
シェルソート（改良挿入ソート、Shellsort, Shell sort, Shell's method）は、1959年にドナルド・シェルが開発したソートのアルゴリズム。挿入ソートの一般化であり、配列の中である程度間隔が離れた要素の組ごとに挿入ソートを行い、間隔を小さくしながら同様のソートを繰り返すことで高速化するアルゴリズムである。ただし、挿入ソートと異なり、安定ソートではなくなる。

**アルゴリズム**
アルゴリズムの基本は挿入ソートと同じである。挿入ソートは「ほとんど整列されたデータに対しては高速」という長所を持つが、隣接した要素同士しか比較・交換を行わないため、あまり整列されていないデータに対しては低速であった。
シェルソートは、「飛び飛びの列を繰り返しソートして、配列を大まかに整列された状態に近づけていく」ことにより、挿入ソートの長所を活かしたものである。
アルゴリズムの概略は次のとおりである。
# 適当な間隔  を決める（hの決め方については後述）
# 間隔  をあけて取り出したデータ列に挿入ソートを適用する
# 間隔  を狭めて、2.を適用する操作を繰り返す
#  になったら、最後に挿入ソートを適用して終了

**動作例**
初期データ: 
この例では、間隔hを4→2→1（2の累乗）とする。
まず、h=4とする。色の同じ部分は、同じグループのデータ列である。
同じグループ内で挿入ソートし、h=2にする。
同じグループ内で挿入ソートし、h=1にする。
間隔が1ということは、全体が同じ1つのグループということである。これを挿入ソートする。

**間隔の決め方**
シェルソートの実行時間（時間計算量）は、比較時に選ぶ間隔hによって大きく異なる。
前節の例ではhを2の累乗としたが、この場合、最悪計算量がとなってしまう。各周回で同じ位置の要素ばかりが比較交換されるため、h=1となった段階で「全体が大まかに整列されている」という仮定が成り立たなくなるためである。
より効率の良い（計算量の少ない）ソートを行うために、様々な間隔が提案されてきた。以下の表は、間隔を決定するための数列の例である。（は要素数）
これらの数列をソートの間隔として利用する際は、（要素数以内で）大きな数字から狭めていく。を使う場合、間隔hを121→40→13→4→1とする（hを3で整数除算していけばよい）。
様々な間隔の計算量について理論的に考察されているが、現状、どのような間隔が最適か（例えば、平均時間となる数列があるか）は未解決問題である。

**C++による実装例**
template 
void shellsort(RandomAccessIterator first, RandomAccessIterator last, Compare comp,
const double sk = 3.14159265358979323846264338327950, const short m = 5)
{
if(first == last)
return;
double gap = distance(first, last);
std::ptrdiff_t h;
do
{
gap /= sk;
h = (std::ptrdiff_t)(gap + 0.5);
if(h 

**脚注 ==
W3m

w3m（ダブリューサンエム または ダブリュースリーエム）は、2021年1月11日時点で東北大学教授である伊藤彰則によって開発された、ページャ兼テキストベースのウェブブラウザである。WWW-wo-Miru（WWWを見る）ということから、名付けられた。
2021年1月11日現在、本家は2011年1月15日が最後のリリースであるが、Debian版の開発が続いている。
動作環境は一般的なUnix系オペレーティングシステムであるが、WindowsでもCygwinを用いることにより動作可能である。

**特徴**
テキストブラウザでありながら、タブブラウジング機能を備え、マウスによる操作、テーブル、フレームの描写などにも対応。また画像ファイルのインライン表示にも対応している。
一風変わった機能としては、WebサーバなしでCGIスクリプトを起動するLocal CGI機能や、読み込んだHTML文書をプレーンテキストに整形して出力する機能などを備える。またEmacsから起動するEmacs-w3mモードがある。

**他のテキストブラウザ**
 Lynx- Links- ELinks

**脚注**

**外部リンク**
  w3m Homepage-  tats/w3m: Debian's w3m: WWW browsable pager - GitHub - Debian 版 w3m