Java

 Computer >> コンピューター >  >> プログラミング >> Java
  1. Javaで実装するカクテルソート(双方向バブルソート)のプログラム

    カクテルソート(Cocktail Sort)は、バブルソートを改良した整列アルゴリズムの一つで、「双方向バブルソート」や「シェーカーソート」とも呼ばれます。通常のバブルソートが配列を一方向にのみ走査するのに対し、カクテルソートは前方向と後方向を交互に走査する点が最大の特徴です。まず前方向のパスでは、隣り合う要素を比較しながら大きい値を配列の末尾側へ移動させます。続く後方向のパスでは、逆に小さい値を配列の先頭側へ移動させます。この往復操作を、交換が一度も発生しなくなるまで繰り返すことで、配列全体が昇順に整列されます。この手法により、配列の終盤に位置する小さな要素でも、1回の後方向パスで先頭付近ま

  2. Javaでカウンティングソート(計数ソート)を実装するプログラム

    カウンティングソート(Counting Sort:計数ソート)は、異なるキー値を持つ要素がそれぞれいくつ存在するかを数え上げることで、整列を行うソートアルゴリズムです。比較ベースのソートとは異なり、要素同士を直接比較せずに出現回数を集計して並べ替えるため、値の範囲が限られているデータに対して高速に動作します。注意: 以下のコードは、負の数を含む配列にも対応しています。サンプルコードimport java.util.*; public class Demo{ static void count_sort(int[] arr){ int max_val = Arrays.s

  3. Javaで学ぶコムソート(Comb Sort)の実装方法とサンプルコード

    コムソートとはコムソート(Comb Sort)は、バブルソートを改良したソートアルゴリズムです。リストの後方に残りやすい小さな値(通称「ウミガメ」と呼ばれる要素)を効率的に手前に移動させ、転倒(順序が逆になっているペア)を一つずつ解消していきます。バブルソートとの最大の違いは、隣接する要素だけでなく、一定の間隔(ギャップ)を空けた要素同士を比較する点です。このギャップを毎回約1.3倍の比率で縮小していくことで、ソートの効率が大幅に向上します。Javaによる実装例それでは、実際のコードを見てみましょう。import java.util.Arrays; public class Demo{

  4. Javaで実装するアナグラム部分文字列検索アルゴリズム

    アナグラム部分文字列検索とは、テキスト(対象文字列)の中から、指定したパターンを並べ替えた文字列(アナグラム)と一致する部分文字列をすべて見つけるアルゴリズムです。本記事では、Javaによる具体的な実装例を、サンプルコード・実行結果・動作解説とともに紹介します。 サンプルコード public class Demo{ static final int max_val = 256; static boolean compare_vals(char my_arr_1[], char my_arr_2[]){ for (int i = 0; i < max_val

  5. 【Java】再帰処理による二分探索プログラムの書き方と解説

    以下は、Javaで再帰呼び出しを用いて二分探索(バイナリサーチ)を実装したサンプルプログラムです。サンプルコードpublic class Demo{     int rec_bin_search(int my_arr[], int left, int right, int x){         if (right >= left){            &n

  6. Javaでバイトニックソートを実装する方法|サンプルコードと詳細解説

    バイトニックソート(Bitonic Sort)は、ソート対象のデータに依存せず、あらかじめ定義された比較順序(バイトニック列)に従って要素を並べ替えるソートアルゴリズムです。この特徴により、並列処理との相性が非常に良く、GPUやマルチコア環境での高速ソート手法として広く知られています。ここでは、Javaでバイトニックソートを実装した具体的なサンプルプログラムを紹介します。バイトニックソートのJava実装例public class Demo{    void compare_swap(int my_arr[], int i, int j, int direction){ &n

  7. Javaで2つの数の公約数の個数を求めるプログラムの書き方

    この記事では、Javaを使って2つの整数の公約数(共通の約数)の個数を求めるプログラムを紹介します。再帰処理によるユークリッドの互除法で最大公約数(GCD)を計算し、その約数を効率よく数える手法を、サンプルコードとともにわかりやすく解説します。 サンプルコード public class Demo{ static int find_gcd(int val_1, int val_2){ if (val_1 == 0) return val_2; return find_gcd(val_2%val_1,val_1); } sta

  8. 複利を計算するJavaプログラム

    この記事では、Javaを使って複利を計算するプログラムを紹介します。複利とは、元本だけでなく発生した利息に対してもさらに利息がつく計算方式のことで、次の数式で求められます。複利 = 元本 × (1 + 年利率 ÷ 100)期間サンプルコードimport java.io.*; public class Demo{ public static void main(String args[]){ double princ = 456000, rt = 9.75, tm = 7; double comp_int = princ * (Math.pow((1 +

  9. 最初のn個の自然数の立方和を求めるJavaプログラム

    以下に示すのは、最初のn個の自然数について、それぞれの数を3乗した値(立方数)の合計を計算するJavaプログラムです。 サンプルコード import java.util.*; import java.lang.*; public class Demo{ public static int first_n_nat_no(int val){ int ini_sum = 0; for (int x=1; x<=val; x++) ini_sum += x*x*x; return ini_sum; }

  10. Javaで%書式指定子を使った文字列フォーマットの方法

    Javaでは、String.format()メソッドと「%」書式指定子を組み合わせることで、柔軟かつ読みやすい文字列フォーマットが実現できます。以下は、その基本的な使い方を示すサンプルコードです。コード例public class Demo {    public static void main(String args[]){       String my_str = sample.;       String concat_Str = String.format(This is a + %s, my_str)

  11. Javaで数値の最大の素因数を求めるプログラムの書き方

    本記事では、与えられた数値の最大の素因数を求めるためのJavaプログラムを紹介します。素因数分解の基本的なアルゴリズムを理解することで、効率的な計算方法を身につけることができます。 素因数とは? 素因数とは、ある整数を素数だけの積で表したときに現れる素数のことです。たとえば、148592を素因数分解すると、その最大の素因数は251になります。 サンプルコード 以下は、数値の最大の素因数を求めるJavaコードです。 import java.io.*; import java.util.*; public class Demo{ static long maxPrimeFactors( l

  12. Javaで円柱の周囲を求めるプログラムの書き方

    円柱の周囲(断面の外周)は、2 × (直径 + 高さ) というシンプルな式で求めることができます。以下は、この計算を実行するJavaプログラムのコード例です。 サンプルコード import java.io.*; public class Demo{    static int find_peri(int dia, int ht){       return 2*(dia + ht);    }    public static void main(String[] args){    

  13. 放物線の頂点・焦点・準線を求めるJavaプログラム

    放物線とは、2次方程式 y = ax2 + bx + c(a ≠ 0)で表される曲線です。本記事では、係数 a・b・c が与えられたときに、放物線の頂点・焦点・準線を求めるJavaプログラムを紹介します。 放物線の頂点・焦点・準線の公式 y = ax2 + bx + c という放物線に対して、各要素は次の式で計算できます。 頂点:( −b ⁄ 2a , (4ac − b2) ⁄ 4a ) 焦点:( −b ⁄ 2a , (4ac − b2 + 1) ⁄ 4a ) 準線:y = (4ac − b2 − 1) ⁄ 4a 頂点と焦点は放物線の対称軸上にあり、焦点は頂点から 1⁄4a だけ離れた位

  14. 球面鏡の焦点距離を求めるJavaプログラム

    以下は、球面鏡の焦点距離を求めるためのJavaコードです。 球面鏡の焦点距離の基本 光学の基本法則によると、球面鏡の焦点距離は曲率半径の半分に等しくなります。凹面鏡の場合は焦点距離が正の値、凸面鏡の場合は負の値として扱われるのが一般的です。このプログラムでは、その法則をシンプルなJavaコードで実装しています。 コード例 import java.util.*; import java.lang.*; public class Demo{ public static float concave_f_len(float val){ return val/2 ; }

  15. 【Java】2つ以上の数値や配列の最大公約数(GCD)を求めるプログラム

    最大公約数(GCD:Greatest Common Divisor)とは、複数の整数に共通する約数の中で最も大きいもののことです。この記事では、2つ以上の数値(配列の全要素)からGCDを求めるJavaプログラムを、サンプルコードと実行結果とあわせて解説します。サンプルコードpublic class Demo{ static int gcd_of_nums(int val_1, int val_2){ if (val_1 == 0) return val_2; return gcd_of_nums(val_2 % val_1, va

  16. Javaで数値がフィボナッチ数かどうかを判定する方法|完全平方数を使ったチェックプログラム

    ある整数がフィボナッチ数(0, 1, 1, 2, 3, 5, 8, 13, 21…と続く数列に含まれる数)であるかどうかは、実際に数列を生成しなくても、数学的な性質を利用することで効率的に判定できます。 判定の原理:完全平方数の性質 有名な定理によると、n がフィボナッチ数であるのは、「5n² + 4」または「5n² − 4」のどちらか一方が完全平方数になる場合、かつその場合に限ることが証明されています。これを利用すると、O(1) に近い計算量でフィボナッチ数かどうかをチェックできます。 フィボナッチ数判定のJavaプログラム 以下が、与えられた数値がフィボナッチ数かどうかをチェックするJav

  17. Javaでコンソール画面をクリアする方法|ANSIエスケープコードを使った実装例

    Javaには、C言語のsystem(clear)のような画面クリア用の標準関数が用意されていません。そのため、コンソール画面をクリアしたい場合は、ANSIエスケープコードを出力するのが一般的な手法です。以下は、Javaで画面をクリアするためのサンプルコードです。サンプルコードpublic class Demo{ public static void main(String[] args){ System.out.print("\033[H\033[2J"); System.out.flush(); } }実行結果画面がクリアさ

  18. Javaで複数のファイル名を一括変更する方法

    Javaを使えば、フォルダ内に存在する複数のファイルの名前をプログラムから簡単に一括変更できます。以下は、その具体的なサンプルコードです。サンプルコードimport java.io.File; import java.io.IOException; public class Demo{ public static void main(String[] argv) throws IOException{ String path_to_folder = path\\to\\folder\\where\\multiple\\files\\are\\present;

  19. Javaで文字列のすべての順列(並び替え)を出力する方法

    本記事では、Javaを使用して文字列のすべての順列(パーミュテーション)を生成し出力する方法を解説します。順列とは順列とは、文字列に含まれる文字をさまざまな順序で並べ替えた組み合わせのことです。例えば「hey」という3文字の文字列の場合、6通りの並べ方(3! = 6)が存在します。一般に、重複する文字がない文字列の長さがnであれば、n!通りの順列が生成されます。サンプルプログラム以下は、文字列のすべての順列を出力するJavaプログラムの例です。public class Demo{ static void print_permutations(String my_str,String m

  20. Javaで文字列の間に整数を出力する方法

    Javaでは、+演算子を使うことで、文字列と整数値を組み合わせて出力できます。本記事では、2つの文字列(または文字列リテラル)の間に整数値を出力する方法を、具体的なサンプルコードとともに解説します。 サンプルプログラム 以下は、文字列の間に整数値を出力するJavaプログラムの例です。 public class Demo{ public static void main(String[] args){ System.out.println(The equals symbol is present between two integer values );

Total 1930 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:71/97  20-コンピューター/Page Goto:1 65 66 67 68 69 70 71 72 73 74 75 76 77