Giáo trình về Kỹ thuật lập trình
MụC LụC CHƯƠNG i ĐạI CƯƠNG Về LậP TRìNH---------------------------------------------------1 I. Khái niệm thuật toán---------------------------------------------------------------------------1 I.1. Khá i niệ m---------------------------------------------------------------------------------------------------1 I.2. Cá c tí nh chấ t đặ c trưng của thuậ t toá n -----------------------------------------------------1 I.3. Phân loại-----------------------------------------------------------------------------------------------------1 II. Mô tả thuật toán bằng lưu đồ ----------------------------------------------------1 II.1. Lưu đồ ------------------------------------------------------------------------------------------------------1 II.2. Cá c ký hiệ u trê n lưu đồ ---------------------------------------------------------------------------1 II.3. Một số ví dụ biểu diễ n thuậ t toá n bằ ng lưu đồ----------------------------------------2 III. CáC NGôN NGữ LậP TRìNH & CHươNG TRìNH DịCH--------------------5 III.1. Ngôn ngữ lậ p trì nh----------------------------------------------------------------------------------5 III.2. Chương trì nh dịch------------------------------------------------------------------------------------6 CHươNG 2 LàM QUEN VớI NGôN NGữ C---------------------------------------------7 * Giới thiệu ngôn ngữ C-------------------------------------------------------------------------7 I. CáC KHáI NIệM Cơ BảN----------------------------------------------------------------------------7 I.1. Cấ u trúc cơ bả n của một chương trì nh C--------------------------------------------------7 I.2. Kiểu dữ liệu cơ bản----------------------------------------------------------------------------------13 I.3. Biế n-----------------------------------------------------------------------------------------------------------14 I.4 Hằ ng-----------------------------------------------------------------------------------------------------------18 I.5. Phép toá n--------------------------------------------------------------------------------------------------20 * Sự chuyể n kiể u-----------------------------------------------------------------------------------------29 * Mức độ ưu tiê n của cá c phép toá n----------------------------------------------------------29 I.6. Chuỗi---------------------------------------------------------------------------------------------------------30 II. Các cấu trúc điều khiển trong C----------------------------------------------33 II.1Cấ u trúc tuầ n tự (Sequence) ------------------------------------------------------------------33 II.2. Cấ u trúc chọn------------------------------------------------------------------------------------------34 II.2.1. Lệ nh if else--------------------------------------------------------------------------------------34 II.2.2. Lệ nh switch_case----------------------------------------------------------------------------35 II.3. Cấ u trúc lặ p---------------------------------------------------------------------------------------------37 II.3.1. Lệ nh while---------------------------------------------------------------------------------------37 II.3.2. Lệ nh do while----------------------------------------------------------------------------------38 II.3.3. Lệ nh for--------------------------------------------------------------------------------------------39 * Phá t biể u break, continue, goto--------------------------------------------------------------40 Bà i tậ p----------------------------------------------------------------------------------------------------------------41 Kỹ thuậ t lậ p trì nh 132 III. Hàm - Đệ quy------------------------------------------------------------------------------------------45 III.1. Hà m--------------------------------------------------------------------------------------------------------45 III.2. Đệ qui (Recursion)--------------------------------------------------------------------------------52 IV. Structure-----------------------------------------------------------------------------------------------54 IV.1. Định nghĩ a------------------------------------------------------------------------------------55 IV.2. Khai bá o---------------------------------------------------------------------------------------55 V. FILE----------------------------------------------------------------------------------------------------------------56 V.1. File vă n bả n---------------------------------------------------------------------------------------------56 V.2. File nhị phâ n (file có cấ u trúc)--------------------------------------------------------------61 V.3. Phá t hiệ n lỗi khi truy xuấ t tậ p tin----------------------------------------------------------66 Bà i tậ p----------------------------------------------------------------------------------------------------------------67 CHươNG 3. CáC THUậT TOáN TRÊN CấU TRúC Dữ LIệU MảNG 69 I. Mảng không sắp xếp và thuật toán tìm kiếm ------------------69 trên mảng chưa có thứ tự I.1. Một số khá i niệ m về mả ng----------------------------------------------------------------------69 I.2. Thuậ t toá n tì m kiếm trê n mả ng chưa có thứ tự--------------------------------------71 II. Các thuật toán sắp xếp-------------------------------------------------------------------73 II.1. Sắ p xế p theo phương phá p Bubble_Sort------------------------------------------------73 II.2. Sắ p xế p theo phương phá p Quick_Sort--------------------------------------------------75 III. Tìm kiếm trên mảng đã có thứ tự---------------------------------------------79 III.1. Tì m kiế m nhanh bằ ng phương phá p lặp-----------------------------------------------79 III.2. Phép tì m kiế m nhị phâ n------------------------------------------------------------------------80 III.3. Phép tì m kiế m nhị phâ n đệ qui-------------------------------------------------------------81 Bà i tậ p----------------------------------------------------------------------------------------------------------------82 CHƯƠNG 4 CON TRỏ (POINTER)----------------------------------------------------------84 I. ĐịNH NGHĩA-------------------------------------------------------------------------------------------------84 I.1. Khai bá o----------------------------------------------------------------------------------------------------84 I.2. Truyề n địa chỉ cho hà m---------------------------------------------------------------------------85 II Các phép toán trên biến con trỏ-----------------------------------------------85 II.1. Toá n tử địa chỉ &-----------------------------------------------------------------------------------85 II.2. Toá n tử nội dung * ---------------------------------------------------------------------------------85 II.3. Phép cộng trừ biến con trỏ với một số nguyê n--------------------------------------86 II.4. Phép gá n và phép so sá nh-----------------------------------------------------------------------86 II.5. Sự chuyể n kiể u----------------------------------------------------------------------------------------86 II.6. Khai bá o một con trỏ hằ ng và con trỏ chỉ đế n đối tượng hằ ng------------87 III. Sự tương quan giữa con trỏ và mảng-----------------------------------87 Kỹ thuậ t lậ p trì nh 133 IV. Con trỏ và chuỗi--------------------------------------------------------------------------------91 IV.1. Khai bá o-------------------------------------------------------------------------------------------------91 IV.2. Xét một số ví dụ về cá c hà m xử lý chuỗi---------------------------------------------91 IV.3. Mả ng con trỏ chỉ đế n chuỗi------------------------------------------------------------------93 Bà i tậ p----------------------------------------------------------------------------------------------------------------95 CHƯƠNG 5 CáC THUậT TOáN TRÊN CấU TRúC ---------------------------96 DANH SáCH LIÊN KếT (LINKED LIST). I. Khái niệm----------------------------------------------------------------------------------------------------------------96 II. Các phép toán trên danh sách liên kết-----------------------------------97 II.1. Tạ o danh sá ch-----------------------------------------------------------------------------------------97 II.2. Cậ p nhậ t danh sách---------------------------------------------------------------------------------99 II.3. Duyệ t danh sá ch------------------------------------------------------------------------------------100 II.4. Tì m kiế m-----------------------------------------------------------------------------------------------100 II.5. Sắ p xế p--------------------------------------------------------------------------------------------------101 Bà i tậ p--------------------------------------------------------------------------------------------------------------102 CHươNG 6 các thuật toán trên cấu trúc câY---------------------104 I. Phân loại cây----------------------------------------------------------------------------------------104 I.1. Một số khá i niệ m cơ bả n-----------------------------------------------------------------------104 I.2. Cá ch biể u diễ n cây---------------------------------------------------------------------------------106 I.3. Biể u diễ n thứ tự các nút trong câ y---------------------------------------------------------106 II. Cây nhị phân (Binary tree)----------------------------------------------------------107 II.1. Định nghĩ a---------------------------------------------------------------------------------------------107 II.2. Cá c phép toá n trên câ y nhị phâ n----------------------------------------------------------110 1. Tạ o câ y--------------------------------------------------------------------------------------------------110 2. Cậ p nhậ t câ y-----------------------------------------------------------------------------------------112 3. Cá c phép duyệ t cây------------------------------------------------------------------------------116 III. cây nhị phân TìM KIếM cân bằng (AVL)--------------------------------117 III.1. Định nghĩ a-------------------------------------------------------------------------------------------117 III.2. Cá c phép toá n trên câ y AVL--------------------------------------------------------------118 III.2.1. Thê m nút---------------------------------------------------------------------------------------118 III.2.2. Cậ p nhậ t câ y---------------------------------------------------------------------------------126 III.2.3. Cá c phép duyệt câ y----------------------------------------------------------------------127 Bà i tậ p--------------------------------------------------------------------------------------------------------------129
Các file đính kèm theo tài liệu này:
- ki_thuat_lap_trinh.pdf