TimTaiLieu.vn - Thư viện tài liệu, ebook, đồ án, luận văn, tiểu luận, giáo trình các lĩnh vực CNTT, Ngoại ngữ, Luật, Kinh doanh, Tài chính, Khoa học...
• Sắp xếp là quá trình xử lý một danh sách các phần tử để đặt chúng theo một thứ tự theo yêu cầu nào đó • Ví dụ: danh sách trước khi sắp xếp: {1, 25, 6, 5, 2, 37, 40} Danh sách sau khi sắp xếp: {1, 2, 5, 6, 25, 37, 40} sắp xếp giúp cho việc tìm kiếm được nhanh hơn. • Khi khảo sát các bài toán sắp xếp, ta phải làm việc nhiều với khái niệ...
27 trang | Chia sẻ: thanhle95 | Ngày: 30/06/2021 | Lượt xem: 598 | Lượt tải: 1
• Mối liên hệ giữa các phần tử được ngầm hiểu – Mỗi phần tử có một chỉ số và ngầm hiểu rằng i+1 nằm sau xi. Do đó các phần tử phải nằm cạnh nhau trong bộ nhớ. – Số lượng phần tử cố định. Không có thao tác thêm và hủy mà chỉ có thao tác dời chỗ. – Truy xuất ngẫu nhiên đến từng phần tử nhanh chóng. – Phí bộ nhớ do không biết trước kích thước....
33 trang | Chia sẻ: thanhle95 | Ngày: 30/06/2021 | Lượt xem: 683 | Lượt tải: 1
• Đệ qui tuyến tính (đệ qui thông thường và đệ qui đuôi): Trong thân hàm có duy nhất một lời gọi hàm gọi lại chính nó một cách tường minh. • Đệ qui nhị phân: Trong thân hàm có hai lời gọi hàm gọi lại chính nó một cách tường minh. • Đệ qui hỗ tương: Trong thân hàm này có lời gọi hàm tới hàm kia và bên trong thân hàm kia có lời gọi hàm tới hà...
41 trang | Chia sẻ: thanhle95 | Ngày: 30/06/2021 | Lượt xem: 763 | Lượt tải: 1
• Khái niệm – NNLT C sử dụng mảng các phần tử kiểu char để lưu chuỗi ký tự và qui ước ký tự kết thúc chuỗi là ‘\0’ (ký tự có mã ASCII là 0). – Một mảng ký tự gồm n phần tử lưu được một chuỗi tối đa n – 1 ký tự. • Ví dụ char str[10] = “tab”; char* name = “KTLT”; • Một số điểm lưu ý – Người lập trình phải chủ động kiểm soát số lượng ký tự ...
55 trang | Chia sẻ: thanhle95 | Ngày: 30/06/2021 | Lượt xem: 707 | Lượt tải: 1
• Do chịu ảnh hưởng của NNLT C nên NNLT
C++ có những quy định không dễ dàng
lắm về sử dụng dữ liệu động đối với người
lập trình nhất là trường hợp mảng động
nhiều chiều.
• Kiểu vector
30 trang | Chia sẻ: thanhle95 | Ngày: 30/06/2021 | Lượt xem: 612 | Lượt tải: 1
Kiểm tra cái gì để phát hiện lỗi ? • Kiểm tra mọi thao tác có thể gây lỗi khi viết CT – Nhập dữ liệu – Sử dụng dữ liệu • Ví dụ: – Kiểm tra mỗi lần mở một tệp tin hay cấp phát các ô nhớ. – Kiểm tra các phương thức người dùng nhập dữ liệu vào cho đến khi không còn nguy cơ gây ra dừng chương trình – Trong trường hợp tràn bộ nhớ (out of memory)...
128 trang | Chia sẻ: thanhle95 | Ngày: 30/06/2021 | Lượt xem: 737 | Lượt tải: 1
1. Một số khái niệm thường gặp • Biểu thức (expression): tính toán giá trị đích dựa trên giá trị nguồn • Lệnh gán (assigment): lưu trữ giá trị của biểu thức hoặc của biến nguồn vào trong 1 biến đícha. Hàm định nghĩa sẵn • Được định nghĩa trong các thư viện • Cần khai báo thư viện ở đầu chương trình để có thể dùng các hàm này • Ví dụ: trong...
49 trang | Chia sẻ: thanhle95 | Ngày: 30/06/2021 | Lượt xem: 767 | Lượt tải: 1
1. Nguyên tắc chung • Đơn giản: – Thể hiện giải thuật như nó vốn có, đừng quá kỳ bí – Lựa chọn cấu trúc dữ liệu sao cho việc viết giải thuật bằng NNLT cụ thể là đơn giản nhất – Tìm cách đơn giản hóa các biểu thức – Thay những biểu thức lặp đi lặp lại bằng CTC tương ứng • Trực tiếp: – Sử dụng thư viện mọi lúc có thể – Tránh việc kiểm tra đi...
135 trang | Chia sẻ: thanhle95 | Ngày: 30/06/2021 | Lượt xem: 760 | Lượt tải: 1
Viết mã nguồn hiệu quả • LTV vẫn có thể thực hiện những cải tiền mà trình dịch không thể • LTV phải loại bỏ tất cả những chỗ bất hợp lý trong mã nguồn • LTV phải làm cho chương trình hiệu quả nhất có thể • LTV có thể phải xem lại mã nguồn khi thấy chương trình chạy chậm • Vậy cần tập trung vào đâu để cải tiến nhanh nhất, tốt nhất ?
105 trang | Chia sẻ: thanhle95 | Ngày: 30/06/2021 | Lượt xem: 687 | Lượt tải: 0
- Mở đầu • Các bài toán thực tế thường phức tạp • Hiểu bài toán đặt ra để giải quyết bài toán, cần làm gì, không cần làm gì. Do đó, phải xác định được: - Các dữ liệu liên quan đến bài toán - Các thao tác cần thiết để giải quyết bài toán • Làm chủ ngôn ngữ lập trình để cài đặt giải pháp thành chương trình máy tính
40 trang | Chia sẻ: thanhle95 | Ngày: 30/06/2021 | Lượt xem: 641 | Lượt tải: 1