Cấu trúc dữ liệu & giải thuật qua ví dụ kinh điển – C++ nền tảng, nâng cao, phỏng vấn xin việc


58 STUDENTS

Học viên: 58
Thời gian: 10 giờ 06 phút
Bài học: 139

58 HỌC VIÊN
  • Profile photo of Trương Kim Xuyến
  • Profile photo of Phạm Tấn Thành
  • Profile photo of LÊ QUANG SONG
  • Profile photo of Huỳnh Trung Đạt
  • Profile photo of Nguyễn Hữu Huy
  • Profile photo of Nguyễn Huy Phong
GHI DANH
  • 1400.000 VNĐ399.000 VNĐ
  • 10 giờ 06 phút

Mô tả khóa học

  1. Giới thiệu về Cấu trúc dữ liệu và thuật toán:

Thực hiện một đề án tin học là chuyển bài toán thực tế thành bài toán có thể giải quyết trên máy tính. Một bài toán thực tế bất kỳ đều bao gồm các đối tượng dữ liệu và các yêu cầu xử lý trên những đối tượng đó. Vì thế, để xây dựng một mô hình tin học phản ánh được bài toán thực tế cần chú trọng đến hai vấn đề :

Tổ chức biểu diễn các đối tượng thực tế :

Các thành phần dữ liệu thực tế đa dạng, phong phú và thường chứa đựng những quan hệ nào đó với nhau, do đó trong mô hình tin học của bài toán, cần phải tổ chức , xây dựng các cấu trúc thích hợp nhất sao cho vừa có thể phản ánh chính xác các dữ liệu thực tế này, vừa có thể dễ dàng dùng máy tính để xử lý. Công việc này được gọi là xây dựng cấu trúc dữ liệu cho bài toán.

Xây dựng các thao tác xử lý dữ liệu:

Từ những yêu cầu xử lý thực tế, cần tìm ra các giải thuật tương ứng để xác định trình tự các thao tác máy tính phải thi hành để cho ra kết quả mong muốn, đây là bước xây dựng giải thuật cho bài toán.

Tuy nhiên khi giải quyết một bài toán trên máy tính, chúng ta thường có khuynh hướng chỉ chú trọng đến việc xây dựng giải thuật mà quên đi tầm quan trọng của việc tổ chức dữ liệu trong bài toán. Giải thuật phản ánh các phép xử lý , còn đối tượng xử lý của giải thuật lại là dữ liệu, chính dữ liệu chứa đựng các thông tin cần thiết để thực hiện giải thuật. Để xác định được giải thuật phù hợp cần phải biết nó tác động đến loại dữ liệu nào (ví dụ để làm nhuyễn các hạt đậu , người ta dùng cách xay chứ không băm bằng dao, vì đậu sẽ văng ra ngoài) và khi chọn lựa cấu trúc dữ liệu cũng cần phải hiểu rõ những thao tác nào sẽ tác động đến nó (ví dụ để biểu diễn các điểm số của sinh viên người ta dùng số thực thay vì chuỗi ký tự vì còn phải thực hiện thao tác tính trung bình từ những điểm số đó). Như vậy trong một đề án tin học, giải thuật và cấu trúc dữ liệu có mối quan hệ chặt chẽ với nhau, được thể hiện qua công thức :

Cấu trúc dữ liệu + Giải thuật = Chương trình

Với một cấu trúc dữ liệu đã chọn, sẽ có những giải thuật tương ứng, phù hợp. Khi cấu trúc dữ liệu thay đổi thường giải thuật cũng phải thay đổi theo để tránh việc xử lý gượng ép, thiếu tự nhiên trên một cấu trúc không phù hợp. Hơn nữa, một cấu trúc dữ liệu tốt sẽ giúp giải thuật xử lý trên đó có thể phát huy tác dụng tốt hơn, vừa đáp ứng nhanh vừa tiết kiệm vật tư, giải thuật cũng dễ hiễu và đơn giản hơn.

  • Đây là khoá học rất nền tảng và là bước đệm để các bạn tiến sâu hơn trong nghề nghiệp lập trình của mình. Các bạn học tốt môn này, các bạn nắm được các tư duy thuật toản, tư duy giải thuật, các bạn sẽ là một lập trình viên giỏi. Các tư duy này giúp bạn vận dụng để giải quyết các công việc, các bài toán, các nghiệp vụ trong tất cả phần mềm sau này.
  • Việc học Cấu trúc dữ liệu và Thuật toán giúp bạn có một cái nhìn chuyên sâu, tối ưu hoá được nhiều vấn đề trong lập trình. Việc tối ưu hoá là cực kì quan trọng để các bạn xây dựng các phần mềm chạy nhanh, hiệu quả.
  • Trong hầu hết các bài PHỎNG VẤN để tuyển chọn người tài, các công ty đều kiểm tra khả năng xử lý và tư duy của các bạn thông qua các trường hợp từ môn học này. Một lập trình nhanh nhạy, một ứng cử viên sáng giá cho một vị trí tại công ty phụ thuộc vào khả năng bạn xử lý các vấn đề, tư duy giải quyết vấn đề dựa vào các thuật toán, thuật giải và tối ưu chương trình.
  • Khoá học được trình bày rất chi tiết với hầu hết các thuật toán và giải thuật thường gặp trong thực tế qua nhiều ví dụ minh hoạ dễ hiểu và vận dụng.
  • Các thuật toán được trình bày, minh hoạ trực quan qua hệ thống http://algo.myclass.vn để các bạn học một cách dễ hiểu nhất.
  • CẤU TRÚC DỮ LIỆU VÀ THUẬT TOÁN LUÔN CẦN THIẾT TRONG SUỐT CUỘC ĐỜI CỦA MỘT LẬP TRÌNH VIÊN (VÍ DỤ CÁC THUẬT TOÁN CŨNG CÓ TRONG PHỎNG VẤN CỦA GOOGLE : https://grouplens.org/blog/preparing-for-a-google-technical-interview/)

Yêu cầu khóa học ?

  1. Chỉ cần đam mê CNTT

Học xong khóa học này bạn có thể ?

  1. Nắm vững Cấu trúc dữ liệu và Giải thuật
  2. Vận dụng các tư tưởng các Giải thuật vào bài toán thực tế
  3. Nắm rõ việc tối ưu và độ phức tạp của các thuật toán, giải thuật
  4. Kinh nghiệm phỏng vấn với các câu hỏi liên quan đến Giải Thuật và Thuật toán
  5. Cài đặt được các thuật toán

Ai có thể học khóa học này ?

  1. Tất cả các bạn yêu thích CNTT
  2. Tất cả các bạn Phổ Thông Trung Học
  3. Sinh viên năm đầu CNTT
  4. Đam mê lập trình
  5. Rèn luyện tư duy để trở thành một lập trình giỏi

Đề cương khóa học

Chương 1: Làm thế nào để trở thành một Lập trình chuyên nghiệp
Bài 1: Giới thiệu môn học
Bài 3: Một số quan niệm Không đúng về lập trình
22 phút
Bài 4: Thuật toán
25 phút
Bài 5: Các phương pháp biểu diễn thuật toán – P3
10 phút
Bài 6: Độ phức tạp của thuật toán + Bài tập tự luyện (7 bài)
38 phút
Bài New: Mối liên hệ giữa CTDL và GT
30 phút
Bài 7: Chuyển đổi dữ liệu bài toán sang dữ liệu chương trình & Nguyên tắc đặt biến, tổ chức dữ liệu – p1
28 phút
Bài 8: Chuyển đổi dữ liệu bài toán sang dữ liệu chương trình & Nguyên tắc đặt biến, tổ chức dữ liệu – p2
18 phút
Bài 9: Phân chia bài toán lớn thành các bài toán nhỏ
12 phút
Bài 10: Kỹ thuật gỡ rối – Debug chương trình
30 phút
CHƯƠNG 2: TỔNG QUAN VỀ C++
Link tải Visual studio 2015
Bài 11: Cài đặt phần mềm
06 phút
Bài 12: Tạo chương trình “HellloWorld” C++ đầu tiên
28 phút
Bài 13: Một số ví dụ C++ đầu tiên
17 phút
Bài 14: Ôn tập các lệnh điều kiện qua các bài tập – Nhắc lại kiến thức
14 phút
Bài 14: Ôn tập các lệnh điều kiện qua các bài tập – Bài tập 1
12 phút
Bài 14: Ôn tập các lệnh điều kiện qua các bài tập – Bài tập 2
12 phút
Bài 14: Ôn tập các lệnh điều kiện qua các bài tập – Bài tập 3
22 phút
Bài 14: Ôn tập các lệnh điều kiện qua các bài tập – Bài tập 4
26 phút
Bài 14: Ôn tập các lệnh điều kiện qua các bài tập (switch-case)
11 phút
Bài 14: Ôn tập các lệnh điều kiện qua các bài tập (switch-case) – Bài tập 5
10 phút
Bài 14: Ôn tập các lệnh điều kiện qua các bài tập – 10 bài tập tự luyện (chấm cộng điểm + có giải)
08 phút
Bài 15: Ôn tập Vòng lặp & Bài tập – P1
19 phút
Bài 16: Ôn tập Vòng lặp & Bài tập – p2
16 phút
Bài 16: Ôn tập Vòng lặp & Bài tập – p3
06 phút
Bài 16: Ôn tập Vòng lặp & Bài tập – p4
04 phút
Bài 17: Ôn tập Hàm & Bài tập
Bài 18: CÂU HỎI ÔN TẬP & TỰ KIỂM TRA
Bài 19: BÀI TẬP: TRÒ CHƠI OẲN TÙ TÌ
Bài 20: BÀI TẬP: TRẢ NỢ KHOẢN VAY
Bài 21: BÀI TẬP: MỘT SỐ BÀI TẬP KHÁC
CHƯƠNG 3: CON TRỎ VÀ MẢNG
Bài 22: Con trỏ
Bài 23: Con trỏ
Bài 24: Tham chiếu
Bài 25: Truyền hàm bằng tham chiếu
Bài 27: Mảng một chiều
Bài 28: Tạo mảng động
Bài 29: Truyền mảng vào hàm
Bài 30: Mảng đa chiều
Bài 31: CÂU HỎI ÔN TẬP & TỰ KIỂM TRA
Bài 32: 15 BÀI TẬP LUYỆN TẬP
CHƯƠNG 4: ÔN TẬP VỀ LỚP & HƯỚNG ĐỐI TƯỢNG C++
Bài 33: Tại sao cần Hướng đối tượng ?
Bài 34: Các đặc tính quan trọng của Lóp & Đối tượng
Bài 35: Khai báo và sử dụng lớp
Bài 36: BÀI TẬP LỚN VỀ LỚP & ĐỐI TƯỢNG
CHƯƠNG 5: CÁC THUẬT TOÁN SẮP XẾP
Bài 37: Giới thiệu các thuật toán sắp xếp
09 phút
Bài 38: Demo thuật toán sắp xếp InterchangeSort
14 phút
Bài 39: Cài đặt thuật toán InterchangeSort – phần 1
18 phút
Bài 39: Cài đặt thuật toán InterchangeSort – phần 2
20 phút
Bài 39: Chạy tay để hiểu rõ thuật toán InterchangeSort
05 phút
Bài 40: Phân tích độ phức tạp thuật toán InterchangeSort
08 phút
Bài 41: Bài tập tự luyện – Thuật toán InterchangeSort
02 phút
Bài 42: Demo thuật toán sắp xếp InsertionSort – P1
05 phút
Bài 42: Demo thuật toán sắp xếp InsertionSort – P2
06 phút
Bài 43: Cài đặt thuật toán
Bài 44: BÀI TẬP LUYỆN TẬP
Bài 45: BÀI TẬP TỰ LUYỆN
Bài 46: Demo thuật toán sắp xếp BubbleSort
Bài 47: Cài đặt thuật toán
Bài 48: BÀI TẬP LUYỆN TẬP
Bài 49: BÀI TẬP TỰ LUYỆN
Bài 50: Demo thuật toán sắp xếp HeapSort
Bài 51: Cài đặt thuật toán
Bài 52: BÀI TẬP LUYỆN TẬP
Bài 53 BÀI TẬP TỰ LUYỆN
Bài 54: Demo thuật toán sắp xếp QuickSort
Bài 55: Cài đặt thuật toán
Bài 56: BÀI TẬP LUYỆN TẬP
Bài 57: BÀI TẬP TỰ LUYỆN
Bài 58: Phân tích độ phức tạp của các Thuật toán
CHƯƠNG 6: THUẬT TOÁN TÌM KIẾM - TÌM KIẾM TUYẾN TÍNH
Bài 59: Mục đích của các thuật toán tìm kiếm & nhu cầu thực tế
Bài 60: Tìm kiếm Tuyến Tính – Yêu cầu – Ý tưởng
Bài 61: Demo minh họa
Bài 62: Cài đặt thuật toán
Bài 63: Phân tích và chạy tay thuật toán
Bài 64: Phân tích độ phức tạp của tuận toán
Bài 65: MỘT SỐ BÀI TẬP
Bài 66: BÀI TẬP TỰ LUYỆN
CHƯƠNG 7: THUẬT TOÁN TÌM KIẾM - TÌM KIẾM NHỊ PHÂN
Bài 67: Tìm kiếm Nhị Phân – Yêu cầu – Ý tưởng
Bài 68: Demo minh họa
Bài 69: Cài đặt thuật toán
Bài 70: Phân tích và chạy tay thuật toán
Bài 71: Phân tích độ phức tạp của tuận toán
Bài 72: MỘT SỐ BÀI TẬP
Bài 73: BÀI TẬP TỰ LUYỆN
CHƯƠNG 8: CÁC THAO TÁC TRÊN CÂY NHỊ PHÂN TÌM KIẾM
Bài 74: Giới thiệu Cây Nhị Phân Tìm Kiếm
Bài 75: Thao tác Chèn trên cây – Demo minh họa
Bài 76: Thao tác Chèn trên cây – cài đặt
Bài 77: Thao tác Chèn trên cây – Các ví dụ
Bài 78: Thao tác Xóa trên cây – Demo minh họa
Bài 79: Thao tác Xóa trên cây – cài đặt
Bài 80: Thao tác Xóa trên cây – Các ví dụ
Bài 81: Thao tác Tìm kiếm trên cây – Demo minh họa
Bài 82: Thao tác Tìm kiếm trên cây – cài đặt
Bài 83: Thao tác Tìm kiếm trên cây – Các ví dụ
Bài 84: Các thao Tác Duyệt trên cây – Node – Left – Right (NLR)
Bài 85: Các thao Tác Duyệt trên cây – Left – Node – Right (LNR)
Bài 86: Các thao Tác Duyệt trên cây -Left – Right – Node (LRN)
Bài 87: Các thao Tác Duyệt trên cây – Node – Right – Left (NRL)
Bài 88: Các thao Tác Duyệt trên cây – Right – Node – Left (RNL)
Bài 89: Các thao Tác Duyệt trên cây – Right – Left – Node (RLN)
Bài 90: Phân tích độ phức tạp của tuận toán
Bài 91: MỘT SỐ BÀI TẬP
Bài 92: BÀI TẬP TỰ LUYỆN
CHƯƠNG 9: CÂY CÂN BẰNG AVL
Bài 93: Giới thiệu
Bài 94: Ý tưởng thuật toán & demo
Bài 95: Các thao tác trên cây AVL
Bài 96: Phân tích và chạy tay thuật toán
Bài 97: MỘT SỐ BÀI TẬP
CHƯƠNG 10: CÂY ĐỎ ĐEN
Bài 98: Giới thiệu
Bài 99: Ý tưởng thuật toán & demo
Bài 100: Các thao tác trên cây ĐỎ ĐEN
Bài 101: Phân tích và chạy tay thuật toán
Bài 102: MỘT SỐ BÀI TẬP
Bài 103: BÀI TẬP LUYỆN TẬP
CHƯƠNG 11: B TREE
Bài 104: Giới thiệu
Bài 105: Ý tưởng thuật toán & demo
Bài 106: Các thao tác trên BTREE
Bài 107: Phân tích và chạy tay thuật toán
Bài 108: MỘT SỐ BÀI TẬP
Bài 109: BÀI TẬP LUYỆN TẬP
CHƯƠNG 12: ĐỆ QUY VÀ QUAY LUI
Bài 110: Đệ qui là gì, tại sao sử dụng đệ quy, ưu và nhược điểm
Bài 111: Minh hoạ đệ qui và bộ nhớ (trực quan)
Bài 112: Cấu trúc đệ qui
Bài 113: CÀI ĐẶT BÀI TOÁN: THÁP HÀ NỘI – MINH HOẠ TRỰC QUAN
Bài 114: CÀI ĐẶT BÀI TOÁN: FIBONACCI
CHƯƠNG 13: NGĂN XẾP & HÀNG ĐỢI & BẢNG BĂM
CHƯƠNG 14: GIẢI BÀI TOÁN BẰNG QUI HOẠNH ĐỘNG
CHƯƠNG 15: TÌM KIẾM THEO CHIỀU SÂU (DFS)
CHƯƠNG 16: TÌM KIẾM THEO CHIỀU RỘNG (BFS)
CHƯƠNG 17: CÁC ĐỒ ÁN LỚN MINH HỌA THỰC TẾ
Bài 115: PHẦN MỀM TỬ ĐIỂN SỬ DỤNG CÂY CÂN BẰNG AVL
Bài 116: PHẦN MỀM QUẢN LÝ NHÂN VIÊN ĐƠN GIẢN
Bài 117: BÀI TOÁN 8 HẬU
Bài 119: BÀI TOÁN NGƯỜI BÁN HÀNG
CHƯƠNG 18: TỔNG KẾT & CÂU HỎI PHỎNG VẤN XIN VIỆC
Bài 120: Tổng hợp câu hỏi lúc phỏng vấn
Bài 121: Kinh nghiệm lúc phỏng vấn xin việc
Bài 122: Kinh nghiệm lúc làm việc

Thông tin về giảng viên

Profile photo of LÊ QUANG SONG
LÊ QUANG SONG

Thạc sĩ KHTN

LÝ LỊCH CÁ NHÂN

Sáng lập viên hệ thống MyClass.vn
Sáng lập viên hệ thống ItClass.vn

Anh Song đã tốt nghiệp Thạc Sỹ ngành Khoa Học Máy Tính tại trường Đại học Khoa Học Tự Nhiên. Anh luôn tâm huyết xây dựng một hệ thống giảng dạy trực tuyến nhằm tạo ra các khóa học tốt nhất, chi phí thấp nhất để hỗ trợ cho cộng đồng, cho các bạn trẻ khắp cả nước.

MỘT SỐ THÀNH TÍCH NỔI BẬT

Giải 3 Nhân Tài Đất Việt năm 2007 với sản phẩm : Framework hỗ trợ phát triển 3D Game trên pocket PC.
Giải thưởng “Ý tưởng sáng tạo Gameas” của VinaGame năm 2007.
Giải thưởng “Sinh viên nghiên cứu khoa học” năm 2007.
Giải thưởng“Eureka” cấp thành phố năm 2007.
Giải thưởng “Sáng tạo Khoa Học Kỹ Thuật Thành phố năm 2008”.
Bằng Khen Chủ Tịch Thành phố của cuộc thi “Sáng tạo Khoa Học Kỹ Thuật Thành Phố năm 2010”.

TIỂU SỬ CÔNG TÁC

1. Từ 05/2013 đến nay: Sáng lập hệ thống khóa học miễn phí Myclass.vn và Hệ thống học lập trình trực tuyến ItClass.vn
2. Từ 05/2011 đến 05/2013: Đồng sáng lập - Giám đốc Điều hành công ty Cổ phần Công nghệ Năng động.
3. Từ 4/2009 đến 04/2011: Trưởng dự án E-learning project tại Anh Văn Hội Việt Mỹ (VUS)
4. Từ 08/2007 đến 4/2009 : Lập trình viên tại công ty ELCA Switzerland

BÁO CÁO KHOA HỌC

[1] Le Quang Song, Tran Minh Triet, Morphing cloth textures based on human upper body pose estimation to develop virtual dressing room, Journal of Science and Technology (Vietnam Academy of Science and Technology), ISSN: 0866 708X . International Conference on Advanced Computing and Applications (ACOMP 2013), Ho Chi Minh City, Vietnam, October 23-25, 2013
[2] Quang-Song Le and Minh-Triet Tran , Overlay upper Clothing Textures to Still Images based on Human Pose Estimation, Rinton Press , JMM Vol.10 2014, (43-57)
http://www.cse.hcmut.edu.vn/acomp2013
http://www.youtube.com/watch?v=xpwACV3UfOQ

Các khóa học được học viên quan tâm
  • oop-myclass.vn
    Lập trình Hướng đối tượng toàn tập cả C++ và C# qua các ví dụ và các game mini
    COMING SOON
    ( 0 REVIEWS )
  • myclass.vn-cau-truc-du-lieu
    Cấu trúc dữ liệu & giải thuật qua ví dụ kinh điển – C++ nền tảng, nâng cao, phỏng vấn xin việc
    1400.000 VNĐ399.000 VNĐ
    0
  • cshap2010canban1__1404478184_113.172.71.25
    Lập Trình Visual C# Căn Bản
    XEM TRƯỚC
    4.6
  • java lap trinh
    Nhập môn Java/Hướng đối tượng Java/Một số mẫu Design Pattern Java
    COMING SOON
    2.8
  • back up dữ liệu
    Nền tảng Cơ Sở Dữ Liệu qua các ví dụ Thực tiễn
    499.000 VNĐ299.000 VNĐ
    5
  • 11824134_978480718840055_1445265225_n
    Nhập môn lập trình / Lập trình C căn bản
    299.000 VNĐ
    5

Đánh giá khóa học

Những khóa học của giảng viên LÊ QUANG SONG
  • oop-myclass.vn

    Lập trình Hướng đối tượng toàn tập cả C++ và C# qua các ví dụ và các game mini

    ( 0 )
    0
    COMING SOON
  • myclass.vn - quan ly kho

    Xây dựng PM Quản Lý Kho hàng theo quy trình thực tế

    ( 0 )
    0
    COMING SOON
  • -72%
    myclass.vn-cau-truc-du-lieu

    Cấu trúc dữ liệu & giải thuật qua ví dụ kinh điển – C++ nền tảng, nâng cao, phỏng vấn xin việc

    0( 1 )
    58
    1400.000 VNĐ399.000 VNĐ
  • -50%
    myclass.vn-web-ban-hang

    Làm Web Bán Hàng chuẩn SEO – Không cần lập trình

    0( 1 )
    39
    599.000 VNĐ299.000 VNĐ
  • -67%
    wordpress-myclass.vn

    Sở hữu website KINH DOANH, xây dựng web cho KHÁCH HÀNG. Combo 5 Dự án Thực Tế – WordPress

    5( 1 )
    291
    1200.000 VNĐ399.000 VNĐ
  • -50%
    thiet-ke-web-can-ban

    Khởi đầu thiết kế website với HTML, CSS, JavaScript , Jquery, Responsive, Bootstrap, dàn layout từ Photoshop

    4.9( 18 )
    373
    799.000 VNĐ399.000 VNĐ

@2015 - Bản quyền thuộc về ItClass.vn - Dự án thử nghiệm - Đang chờ xin giấy phép