Tìm hiểu giải thuật sắp xếp Bubble Sort

Xin chào các bạn Hi , hôm trước tui đã viết một bài về giải thuật Selection Sort. Hôm nay, tui sẽ viết tiếp giải thuật còn lại đó là Bubble Sort. Giải thuật này cũng tương đối dễ hiểu và dễ cái đặt, về mặt ý tưởng nó cũng khá là gần giống với Selection Sort nhưng có thay đổi một chút xíu trong việc đẩy phần tử nhỏ nhất về phía đầu array. Nói nhiều quá thành ra lan man mất, thôi vào luôn cho nóng nhá. (more…)

Read More

Tìm hiểu giải thuật sắp xếp Selection Sort

Gần đây, trong công việc có một số bài toán cần sử dụng giải thuật sắp xếp (sorting). Cũng đã lâu lắm rồi tui đã không sử dụng các thuật toán sắp xếp này nữa, nhân dịp này tui sẽ viết một bài để giới thiệu 2 cái giải thuật sắp xếp đơn giản, dễ hiểu nhất đó là Selection Sort và Bubble Sort. Trong bài này tui sẽ viết cho Selection Sort trước.

Tuy rằng trong các ngôn ngữ hiện giờ như C#, Java, PHP… đều hỗ trợ các hàm dùng để sắp xếp một array hay một collection tăng dần hay giảm dần, bạn chỉ cần truyền vào điều kiện cần sort là nó sẽ sort cho bạn luôn. Nhưng cũng có một số trường hợp bạn cần phải viết lại hàm sort đó thì sao? Bỏ qua yếu tố sắp xếp nhanh hay chậm, ở đây tui muốn các bạn hiểu được thế nào là sắp xếp một array hay một collection, giúp bạn có trải nghiệm tốt hơn về kỹ thuật lập trình. Vậy chúng ta bắt đầu nha. (more…)

Read More

Làm quen với lập trình

Làm quen với lập trình

Chào tất cả các bạn đang có ý định học lập trình hoặc đã học lập trình nhưng muốn cũng cố lại kiến thức!

Đây là bài viết đầu tiên của tui trên [Coding Pearls] thuộc chuyên mục Kỹ Thuật Lập Trình. Trong quá trình đi làm cũng như đi dạy(gần đây có đi dạy lập trình C#) thì tui nhận thấy rằng để một bạn chưa biết thế nào là viết code mà muốn học lập trình thì rất là khó khăn. Khó khăn không nằm ở chổ học ngôn ngữ lập trình mà là khó khăn về cách tư duy lập trình. Các bạn có thể học câu lệnh if, vòng lặp for, while… nhưng không biết khi nào thì dùng nó, nhưng điều này lại rất dễ đối với các bạn sinh viên chuyên ngành CNTT, đơn giản là vì các bạn sinh viên CNTT trước khi có thể viết được một đoạn chương trình tạm gọi là “có thể chạy được” thì các bạn đó đã phải “khổ luyện” rất nhiều về cấu trúc dữ liệu – thuật toán để tư duy của mình logic hơn, “computer” hơn. (more…)

Read More