generated from kenryuS/report-temp
cls02
This commit is contained in:
@@ -0,0 +1,80 @@
|
||||
\documentclass[xelatex,a4paper,11pt,ja=standard]{bxjsarticle}
|
||||
|
||||
\usepackage{tex/preamble}
|
||||
\usepackage{tex/detailed-title}
|
||||
\usepackage{multirow}
|
||||
|
||||
\reportauthor{柴田健琉}
|
||||
\reporttitle{前期第2回課題}
|
||||
\reportdate{2026年}{04月}{20日}
|
||||
\turnindate{2026年}{04月}{21日}
|
||||
\schoolname{岐阜工業高等専門学校}
|
||||
\department{電子制御工学科}
|
||||
\subject{情報処理2}
|
||||
\professor{遠藤 登}
|
||||
\studentid{2024D14}
|
||||
\seatingnum{15}
|
||||
|
||||
\begin{document}
|
||||
\detailedtitle
|
||||
|
||||
\section{はじめに}
|
||||
|
||||
この課題のプログラムは以下の環境での実行が確認されている:
|
||||
|
||||
\begin{itemize}
|
||||
\item{OS: NixOS 25.11, Linux 6.19.12}
|
||||
\item{GCC: 15.2.0}
|
||||
\item{コンパイラフラグ: \texttt{-g -O1 -Wall -Wpedantic}}
|
||||
\end{itemize}
|
||||
|
||||
\section{下準備:並び換えるデータの用意}
|
||||
|
||||
課題に使用するデータはLinuxの\texttt{/dev/urandom}で以下のbashコマンドで生成した.
|
||||
|
||||
\begin{lstlisting}[language=bash,title={乱数配列生成コマンド(Xに任意の個数)}]
|
||||
$ sed '1i\#pragma once\' <(head -c X /dev/urandom | xxd -iC -n dataX) > dataX.h
|
||||
\end{lstlisting}
|
||||
|
||||
出力されるヘッダーファイルには\texttt{unsigned char}型の乱数配列\texttt{dataX}と配列の長さ\texttt{dataX\_len}が格納されている.
|
||||
|
||||
\lstinputlisting[language=C,title={\texttt{data10.h}}]{src/cls02/data10.h}
|
||||
\lstinputlisting[language=C,title={\texttt{data100.h}},linerange={1-3,11-13},consecutivenumbers={false}]{src/cls02/data100.h}
|
||||
\lstinputlisting[language=C,title={\texttt{data1000.h}},linerange={1-3,86-88},consecutivenumbers={false}]{src/cls02/data1000.h}
|
||||
|
||||
\newpage
|
||||
|
||||
\section{課題:3つのソートアルゴリズム}
|
||||
|
||||
10個, 100個, 1000個の乱数データに対し, 単純交換・単純選択・単純挿入ソートを実行し, 交換回数・比較回数を記録する.
|
||||
|
||||
\lstinputlisting[language=C,title={3つのソートアルゴリズム}]{src/cls02/main.c}
|
||||
|
||||
\subsection{実行結果}
|
||||
|
||||
\begin{figure}[tbh]
|
||||
\centering
|
||||
\includegraphics[width=12cm]{assets/cls02.png}
|
||||
\caption{実行結果}
|
||||
\end{figure}
|
||||
|
||||
\begin{table}[!ht]
|
||||
\centering
|
||||
\begin{tabular}{c|c|c|c|c|c|c}
|
||||
\hline
|
||||
\multirow{2}{6em}{データ数} & \multicolumn{2}{|c|}{単純交換} & \multicolumn{2}{|c|}{単純選択} & \multicolumn{2}{c}{単純挿入} \\
|
||||
\cline{2-7}
|
||||
& 比較 & 交換 & 比較 & 交換 & 比較 & 交換 \\
|
||||
\hline
|
||||
10 & 81 & 20 & 55 & 10 & 45 & 20 \\
|
||||
100 & 9801 & 2571 & 5050 & 100 & 4950 & 2205 \\
|
||||
1000 & 998001 & 243054 & 500500 & 1000 & 499500 & 94085 \\
|
||||
\hline
|
||||
\end{tabular}
|
||||
\caption{ソートアルゴリズムとデータ数での比較・交換回数}
|
||||
\end{table}
|
||||
|
||||
\appendix
|
||||
\section{付録}
|
||||
\input{dev-env.tex}
|
||||
\end{document}
|
||||
Reference in New Issue
Block a user