Java'da Permütasyon Açıklaması [Kodlama Örnekleriyle]
Yayınlanan: 2020-11-24JAVA, 1995 yılında Sun Microsystems'de James Gosling tarafından geliştirildi. Geliştiriciler, JAVA'yı kullanarak, Linux, Windows ve macOS tabanlı işletim sistemleri dahil olmak üzere hemen hemen her platformda çalışabilen kararlı, güvenli ve esnek uygulamalar oluşturabilir.
JAVA'nın (WORA olarak da bilinir) Bir Kez Yaz, Her Zaman Çalıştır özelliği, daha önce tatmin edici bir şekilde derlenmiş kodu yeniden derleme ihtiyacını da ortadan kaldırır. JAVA'nın bu çok yönlülüğü, onu yerleşik karmaşık mantıksal ve matematiksel işlevleri hemen hemen her tür çapraz platform uygulamasına entegre etmek için ideal bir dil haline getirir.
Herhangi bir alternatif (veya popüler) web geliştirme ortamının aksine, web uygulamaları geliştirmek için JAVA kullanmanın avantajları, sürdürülebilir uygulama avantajlarının üç ana direğine kadar uzanır:
- JAVA sözdizimini öğrenmesi ve uyarlaması kolaydır ve her düzeyde ve karmaşıklıkta kodlayıcılar için uygundur. Bu, JAVA'yı sık sık personel değişikliğine maruz kalan geliştirme ekipleri için güvenli bir bahis haline getirir. Yeni bir kaynağın ortak geliştirme platformuna (JAVA) uyum sağlaması için geçen süre, sektördeki en az sürelerden biridir.
- JAVA, yaklaşımda tamamen modüler olmasını sağlayan ve geliştiricilere işlevsel olarak yeniden kullanılabilir kod parçaları oluşturma yeteneği veren, böylece çabayı azaltan yüksek seviyeli, nesne yönelimli bir programlama dilidir. Geniş bir yerleşik işlev kitaplığı, diğer üçüncül eklentilere veya derleyici eklentilerine, komut dosyalarına vb. bağımlılıkları da azaltır - bu da JAVA'ya en az uygulama sürelerinden birini verir.
- JAVA, yukarıda tartışıldığı gibi platformdan bağımsız olarak tüm dünyaların en iyilerini harmanlar. JAVA'da geliştirilen bir web uygulaması, işlevsellikte sıfır kayıpla bir işletim sisteminden diğerine kolayca taşınabilir ve bu, herhangi bir geliştirme ortamında sahip olunması paha biçilemez bir yardımcı programdır.
JAVA'yı web için bir geliştirme platformu olarak bu kadar kazançlı yapan yönlerden biri olarak, minimum uygulama bağımlılıkları ve matematiksel olarak sağlam sözdizimi , minimum ek ile yerleşik bir işlevi çağırarak hemen hemen her matematiksel veya mantıksal talimatı gerçekleştirmek için cömertçe kullanılabilir. özelleştirme.
Koddaki bu esnekliğin en parlak örneklerinden biri, JAVA'da permütasyon gerçekleştirme yeteneğidir - daha spesifik olarak, belirli bir dizede bulunan tüm karakterlerin olası tüm permütasyonlarını gerçekten rastgele hale getirmek ve bulmak için.
Bu rehberli eğitimde, dizenin ilk karakterini dizenin "izlenen" bir konumunda saklayarak ve farklı varyasyonları diğerleriyle rastgele seçmek için createPermutation() işlevini çağırarak bu permütasyonu JAVA'da nasıl gerçekleştirmeye çalışacağımızı öğreneceğiz. dizedeki karakterler.

Okuyun: Java Mülakat Soruları ve Cevapları
İçindekiler
Java'da Permütasyon — Geri İzleme Algoritması Kavramı
JAVA'daki bu permütasyon sorununa bir çözüm bulmak için , önce web geliştirme topluluğu içinde geniş çapta kabul görmüş bir kavram olan Geri izleme algoritması, belirli bir dizenin bir karakterini periyodik olarak sabitlemeye ve onu diğer tüm karakterlerin tüm olası permütasyonlarıyla birleştirmeye ve bu işlemi dizenin her pozisyonundaki karakterlerle ayrı ayrı tekrarlayarak maksimum değere ulaşmak için özyinelemeli bir işlemdir. (ve mümkün olan tüm) bu dize için varyasyon sayısı.
JAVA'daki bu permütasyon algoritması, üç karakterli belirli bir dize bağlamında anlaşılması daha kolaydır. Belirli bir dizedeki bu üç karakterin A, B ve C olduğunu varsayalım.
JAVA'da bu permütasyonu gerçekleştirmenin ilk adımı, bir karakteri sabitleyerek başlamaktır (her zaman ilk konumda bulunan karakteri sabitleyerek başlayacağız) ve ardından kalan tüm karakterlerle orijinal ile birleştirerek bir takas gerçekleştirerek ( sabit) karakter.
Örneğin ABC string örneğinde A karakterini ( ABC string'deki Daha sonra şu kombinasyonlara ulaşırız: ABC , BAC ve CBA .
Sonraki adım, benzer şekilde , dizenin sonraki konumunda bulunan karakteri (bu durumda, dizenin ikinci konumunda bulunan karakter, yani B ) " Sonunda, tüm olası permütasyonların eksiksiz bir setine ulaşana kadar, elde edilen her rastgeleleştirme seviyesiyle bu adımı tekrarlamaya devam edeceğiz :

ABC
ACB
BAC
M.Ö.
CBA
TAKSİ
Bu makalenin sonunda bulunan örnek kod/istenen çıktı bölümünde, JAVA'da permütasyon gerçekleştirme girişimini okunaklı koda dönüştüreceğiz ve böylece permütasyonların gerçek zamanlı olarak hesaplandığını göreceğiz.
JAVA'da Permütasyon Gerçekleştirme — Geri İzleme ve Değiştirme için Özyinelemeli Algoritma
JAVA'da rastgele bir dizi alma ve kapsamlı bir permütasyon gerçekleştirme sürecinin kısa bir özeti, aşağıdaki adım adım özyinelemeli algoritma ile açıklanabilir:
- Dize Tanımı – İlk önce bir dize tanımlayın. Giriş değişkeni olarak her zaman rastgele bir dizeyi kabul etmeyi seçebilirsiniz, ancak amaç ve çabanın netliği için bu örnekte önceden tanımlanmış ABC dizesini kullanacağız.
- Karakter Sabitleme – Bir karakteri düzeltin (birinci konumdaki karakterle başlayın ve kalan tüm karakterlerle değiştirmeye devam edin).
- createPermutation() – Geri kalan tüm karakterler için createPermutation() işlevinin çıktısını çağırın ve kullanın.
- Özyinelemeli Geri İzleme – “Geri izleme” algoritmasını gerçekleştirin ve kodunuz dizenin sonuna ulaşana kadar karakterleri yinelemeli olarak değiştirmeye devam edin (Şu anki örneğimizde, C'ye kadar).
JAVA'da Permütasyon Gerçekleştirme — Örnek Kod:
genel sınıf PermuteString {
// i konumundaki karakterleri j konumundaki tüm karakterlerle değiştirecek bir işlev tanımlıyoruz
public static String swapString(String a, int i, int j) {
// dizedeki sabit karakterler için karakter tanımları
char[] b =a.toCharArray();
karakter ch;
// bir sonraki adımda takası gerçekleştiriyoruz
ch = b[i];
b[i] = b[j];
b[j] = ch;
String.valueOf(b) döndür;
}public static void main(String[] args)
{
//varsayılan ABC dizisini tanımlıyoruz
String str = “ABC”;
// string uzunluğunu sayma
int uzunluk = str.uzunluk();
//tüm rasgeleleştirmeleri yazdırma
System.out.println(“Aşağıdakiler, ABC dizisinin tüm olası permütasyonlarıdır: “);
createPermutation(str, 0, len);
}
//dizenin tüm olası permütasyonlarını oluşturmak için bir fonksiyon tanımlıyoruz
public static void createPermutation(String str, int start, int end)
{
// tüm permütasyonların yazdırılması
if (başlangıç == bitiş-1)
System.out.println(str);
Başka
{
for (int i = başlangıç; i < bitiş; i++)
{
// dizeyi değiştirmek için bir karakterin sabitlenmesi
str = takasString(str,start,i);
// kalan tüm karakterler için yinelemeli olarak createPermutation() işlevini çağırmak createPermutation(str,start+1,end);
// karakterleri yeniden değiştirmek için geri izleme algoritması gerçekleştirme
str = takasString(str,start,i);
}
}
}
}
JAVA'da Permütasyon Gerçekleştirme — Örnek Koddan Türetilen Çıktı:
Bu örneği derleyip çalıştırdığınızda, istenen çıktı şöyle görünmelidir:
ABC dizisinin tüm olası permütasyonları aşağıdadır:
ABC
ACB
BAC
M.Ö.

CBA
TAKSİ
Mutlaka Okuyun: İlginç Java Projeleri ve Konuları
Çözüm
JAVA'da bir permütasyon gerçekleştirmek için bu öğreticiyi yararlı bulduğunuzu umuyoruz.
Java, OOP'ler ve tam yığın yazılım geliştirme hakkında daha fazla bilgi edinmek istiyorsanız, upGrad & IIIT-B'nin çalışan profesyoneller için tasarlanmış ve 500 saatten fazla sıkı eğitim sunan Tam Yığın Yazılım Geliştirme PG Diplomasına göz atın, 9 + projeler ve görevler, IIIT-B Mezun statüsü, pratik uygulamalı bitirme projeleri ve en iyi firmalarla iş yardımı.
