Pencarian Pemrosesan string Sebutkan dan Jelaskan 7 Permasalahan penting dalam dunia ilmu komputer

kuncikey. Ahli computer sering berbicara mengenai penyortiran suatu data kunci bahkan ketika unsur daftar tersebut tidak dicatat, katakanlah hanya bilangan bulat. Mengapa kita menginginkan daftar terurut? Penyortiran membuat banyak pertanyaan mengenai suatu daftar menjadi lebih mudah dijawab. Hal yang paling penting diantaranya adalah pencarian: inilah mengapa kamus, buku telepon, daftar kelas, dan sebagainya dsiortir. Anda akan melihat contoh-contoh dari penggunaan pengurutan daftar pada bagian 6.1. pada tingkat yang sama, penyortiran digunakan sebagai langkah tambahan pada beberapa algoritma penting pada bidna glainnya misalnya algoritma geometric. Sampai sekarang, ahli computer telah menemukan banyak sekali algoritma sorting yang berbeda-beda. Pada kenyataanny, penemuan algoritma sorting yang baru telah menyamai desai jebakan tikus yang terkenal. Saya sangat senang menyampaikan bahwa pencarian penyortiran mousetrap yang lebih baik terus berlanjut. Upaya ini dipandang sangat baik karena alasan berikut ini. Disatu sisi terdapat algoritma sorting lain yang baik yang menyortir sembarang array berukuran n dengan menggunakan sekitar n log, n perbandingan. Disisi lainnya, tidak ada algoritma yang menyortir dengan perbandingan kunci sebaliknya misalkan membandingkan bagian kecil dari kunci secara substanisal dapat melakukannya dengan jauh lebih baik. Ada suatu alasan kelemahan dari kekayaan algoritma dalam hal penyortiran. Walaupun sebagian algoritma jauh lebih baik daripada yang lainnya, namun tidak ada algortima yang memberikan penyelesaian terbaik bagi semua situasi. Sebagian algoritma bersifat sederhana, tetapi relative lebih lambat, sedangkan yang lainnya lebih cepat tetapi lebih rumit. Beberapa bekerja dengan lebih baik pada input yang tersusun secara acak, sedangkan lainnya bekerja lebih baik pada daftar yang tersortir.beberapa cocok hanya untuk daftar pada memori yang cepat, sedangkan yang lainnya dapat beradaptsi untuk menyortir file besar yang dsimpan didalam disk dan seterusnya . Dua kemampuan dari algoritma sorting pantas untuk disebutkan. Suatu algoritma sortig disebut stabil apabila dapat membuat urutan relative dari dua elemen yang sama dalam inputnya. Dengan kata lain, apabila daftar input berisi dua elemen yang sama pada posisi i dan j dimana ij, kemudian pada daftar tersortir mereka memiliki posisi i’ dan j’ maka i‘j’. Kemampuan ini dipilih apabila, misalkan kita memiliki daftar siswa yang tersortir berdasarkan abjad dan kita ingin menyortirnya berdasarkan indeks prestasi yang sama akan tetap tersortir berdasaran abjad. Secara umum algoritma yang dapat mengganti lokasi kunci yang terpisah jauh berifat tidak stabi, tetapi biasanya bekerja lebih cepat; nantinya pada buku ini, anda akan melihat bagaimana pendapat umum ini diaplikasikan pada algoritma sorting yang penting. Kemampuan kedua yang perlu diketahui dari algoritma sorting adalah jumlah memori tambahan yang dibutuhkan algoritma. Suatu algoritma disebut pada tempatnya apabila tidak membutuhkan memori tambahan, kecuali mungkin hanya untuk beberapa unit memori. Ada beberapa algortima sorting yang penting yang bersifat in place dan yang tidak.

b. Pencarian

Masalah oencarian berhubungan dengan bagaimana menemukan suatu nilai yang telah diberikan, yang disebut kunci pencarian search key dalam suatu himpunan set yang telah diberikan atau suatu multihimpunan yang tmemungkinkan beberapa elemen memiliki nilai yang sama. Ada banyak algoritma pencarian untuk dipilih. Mulai dari pencarian sekuensial yang lugas sampai pencarian yang efisien namun terbatas sebagai pencarian biner dan algoritma yang didasarkan pada adanya himpunan yang mendasarinya dalam bentuk yang berbeda yang lebih kondusif untuk ditemukan. Algoritma yang terakhir sangat penting dalam aplikasi didunia nyata karena penting untuk menyimpan dan menemukan informasi dari database yang besar. Untuk pencarian , juga tidak ada suatu algoritma yang cocok untuk semua situsi. Beberapa algoritma bekerja leih cepat dari pada yang lainnya, tetapi membutuhkan memori yang lebih banyak; beberapa bekerja sangat cepat, tetapi hanya dapat diaplikasikan pada array tersortir; dan seterusnya. Tidak seperti algoritma sorting, tidak terdapat masalah stabilitas, tetapi ada masalah lain yang muncul. Tepatnya, pada aplikasi dimana data yang mendasarinya sering berubah relatif terhadap jumlah pencarian, pencarian harusnya dihubungkan dengan dua operasi lainnya; penambahan dan penghapusan dari himpunan data dari suatu item. Pada situais seperti ini struktur data dan algoritma harus dipilih untuk mendapatkan keseimbangan antara persyaratan dari tiap operasi. Selain itu penyusunan data yang sangat besar untuk pencarian yang efisien menimbulkan tantangan khusus dengan implikasi penting bagi aplikasi dunia nyata.

c. Pemrosesan string

Belakangan ini, peningkatan aplikasi yang cukup cepat, berkaitan dengan data nonnumerik yang meningkatkan ketertarikan peneliti dan praktisi komputasi dalam algoritma yang bersifat string-handling. String adalah urutan karakter dari abjad. String dari bidang tertentu adalah string teks, yang mencakup huruf, angkam dan karakter tertentu; string bit yang mencakup nol dan satu; dan urutan gen yang dapat dimodelkan dengan string dari karakter abjad yang berupa empat huruf A,C,G,T. Perlu dicatat bahwa algoritma pemrosesan string adalah hal yang penting bagi ilmu komputer sejak lama, dalam hubungannya dengan bahasa komputer dan masalah penyusunan. Salah satu masalah yang mencari kata yang ditentukan dalam suatu teks---- telah menarik perhatian para peneliti. Mereka menyebutnya dengan pencocokan string. Beberapa algoritma yang menggunakan sifat khusus dari pencarian ini telah ditemukan.

d. Masalah grafik