Các bài đăng bởi Minh Nghĩa

[Cấu trúc dữ liệu và giải thuật] – Bài tập danh sách liên kết

Bài tập: Viết chương trình dùng danh sách liên kết quản lý thư viện.

**Yêu cầu:

  • Xây dựng kiểu dữ liệu thích hợp để lưu trữ thông tin sách.
  • Viết hàm nhập xuất danh sách thông tin sách. ( Ứng dụng danh sách liên kết ).
  • Viết hàm tìm kiếm không khóa ( tìm dựa trên tên sách người dùng nhập vào ) và tìm kiếm theo khóa ( tìm theo số thứ tự người dùng nhập vào ) .
  • Viết hàm sắp xếp sách theo số thứ tự.
Đọc tiếp [Cấu trúc dữ liệu và giải thuật] – Bài tập danh sách liên kết

[Cấu trúc dữ liệu và giải thuật] – Giải bài tập danh sách liên kết: quản lí sinh viên

Viết chương trình dùng danh sách liên kết cho bài toán Quản lý sinh viên.

*****Yêu cầu:

  • Nhập,xuất danh sách nhiều sinh viên.
  • Tìm sinh viên có điểm trung bình cao nhất.

<Code hoàn chỉnh>

#include"pch.h"                                                                                                                                                 #include<iostream>                                                                                                                                                    #include<string>                                                                                                                                                    #include<stdio.h>                                                                                                                       #include<windows.h>                                                                                                                                                   
Đọc tiếp [Cấu trúc dữ liệu và giải thuật] – Giải bài tập danh sách liên kết: quản lí sinh viên

[Cấu trúc dữ liệu và giải thuật] – Thuật toán sắp xếp ShakerSort

++ ShakerSort hay còn được gọi là thuật toán sắp xếp lắc, đây là một thuật toán cải tiến của thuật toán BubbleSort.
ShakerSort sau khi đưa phần tử nhỏ/lớn nhất lên đầu dãy, sau đó lại đưa phần tử lớn/nhỏ nhất về cuối dãy. Như vậy, trong một lần duyệt, ShakerSort sẽ đưa ít nhất hai số  về đúng với vị trí của nó. Giả sử ta xét mảng gồm các phần tử {6; 7; 8; 9 ;0}
Với ShakerSort trong một lần duyệt, các phần tử đã trở về đúng vị trí của nó: {0;6;7;8;9}. Khác với BubbleSort ta cần tới 4 lần duyệt để đưa các phần tử về đúng vị trí. Vậy đối với một số mảng đã gần như có thứ tự, ShakerSort sẽ chạy nhanh hơn so với BubbleSort. Nếu như ta xét các mảng sinh các số ngẫu nhiên thì thời gian chạy của hai thuật toán này là tương đương nhau.

 THIẾT KẾ THUẬT TOÁN 

Đọc tiếp [Cấu trúc dữ liệu và giải thuật] – Thuật toán sắp xếp ShakerSort