Algoritma C adalah, seperti namanya, kumpulan struktur data umum dan algoritma yang diimplementasikan pada C99.
Sesekali saya mendapati diri saya mempersiapkan wawancara teknis yang sering membutuhkan setidaknya beberapa pemahaman dasar tentang struktur dan algoritma data umum. Pertanyaan -pertanyaan ini seharusnya menilai latar belakang teknis kandidat dan kemampuan untuk berpikir di kakinya. Namun, dalam kehidupan nyata, Anda pasti harus menghindari menemukan kembali roda dan menggunakan perpustakaan yang ditinjau oleh peer yang mapan, seperti Boost untuk C ++.
Versi pertama perpustakaan diimplementasikan sebagai header saja.
Ada trade-off antara pengiriman perpustakaan dalam format header saja dan menggunakan file terpisah untuk API dan implementasi. Pendekatan header saja, meskipun tidak terlalu efisien ketika membangun proyek besar, memiliki satu keuntungan besar; Perpustakaan tidak perlu dikompilasi secara terpisah dan Anda hanya perlu #include file header yang relevan dalam kode sumber Anda.
Namun, saya akhirnya menetap untuk menggunakan file .h dan .c yang terpisah untuk API dan implementasi karena menurutnya lebih intuitif dalam hal struktur kode.
Saya telah menggunakan kerangka kerja Googletest (GTEST). Ini telah membengkak banyak repositori dan mungkin menjadi berlebihan untuk proyek kecil ini, tetapi saya ingin mencobanya. Untuk menjalankan tes cukup jalankan make test
Ini adalah bagian kode yang mendidik dan eksperimental. Tak perlu dikatakan, jangan pernah menggunakan implementasi algoritma mainan acak seperti ini dalam pengaturan produksi apa pun.
@Lekkas