Thuật toán và Cấu trúc dữ liệu

28 33 0
Thuật toán và Cấu trúc dữ liệu

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Chương 1.NHẬP MƠN THUẬT TỐN VÀ CẤU TRÚC DỮ LIỆU 1.1 Gii thiu mụn hc Thuật toán cấu trúc liệu đợc coi môn học cốt lõi ngành Công nghệ thông tin Niklaus Wirth - tác giả Cấu trúc liệu +Giải thuật= Chơng trình đà phân tích tầm quan trọng cấu trúc liệu thuật toán Chơng trình mô tả cụ thể thuật toán trừu tợng dựa vào biểu diễn cấu trúc liệu đặc biệt Chơng trình liệu tách rời đợc Dữ liệu đợc xử lý chơng trình, cần đợc tổ chức thành cấu trúc cho phản ánh mối quan hệ mục liệu cho phép xử lý liệu có hiƯu qu¶ Sinh viên Khoa CNTT khơng thuộc chun ngành Cơng nghệ phần mềm, Kỹ thuật máy tính học mơn Cấu trúc liệu thuật tốn có tín chỉ, tên học phần Kiến thức Cấu trúc liệu thuật toán Sinh viên Khoa CNTT thuộc chuyên ngành Công nghệ phần mềm, Kỹ thuật máy tính học mơn Cấu trúc liệu thuật tốn có tín chỉ, chia làm học phần,học phần đầu Kiến thức Cấu trúc liệu thuật toán, học phần sau Cấu trúc liệu thuật toán nâng cao Khi cần giải tốn máy tính, người lập trình viên cần phải thực cơng việc sau : A) Tìm cách giải tốn, gọi tìm giải thuật hay thuật tốn Thuật tốn diễn đạt lời, gạch đầu dịng hay vẽ thành sơ đồ Một tốn có nhiều cách giải, cần chọn thuật tốn tốt Tiêu chí tốt thuật tốn liên quan đến việc tổ chức liệu, thời gian xử lý thuật tốn, dễ dàng việc lập trình Các chuyên gia CNTT nghiên cứu, phát triển, hệ thống hóa loại thuật tốn có từ trước tới thành lĩnh vực chuyên sâu, lập trình viên chuyên nghiệp phải nắm bắt thuật toán bản, hay dùng thực tế Những thuật tốn thơng dụng :  Các thuật toán xếp (sắp xếp thường, xếp bọt, xếp chèn, xếp nhanh );  Các thuật tốn tìm kiếm(tìm kiếm tuần tự, tìm kiếm nhị phân);  Thuật toán đệ quy;  Thuật toán truy hồi – quy hoạch động;  … B) Tổ chức liệu, viết chương trình, diễn đạt thuật tốn thành câu lệnh ngơn ngữ lập trình B1.Tổ chức liệu Khi tìm cách giải tốn, xây dựng thuật tốn, người lập trình phải hình dung liệu bố trí xử lý theo cách Dữ liệu số, chữ đơn lẻ phần tử chứa nhiều liệu thành viên? Các phần tử liệu đứng riêng lẻ hay tạo thành dãy chiều, mảng 2,3 chiều v.v…? Tùy theo ngơn ngữ lập trình sử dụng mà loại liệu cài đặt thành phần với câu lệnh cụ thể Ngoài việc liệu tổ chức nào, phải xem việc liệu nhập vào ->xử lý ->đưa theo trật tự để chọn cấu trúc liệu cho phù hợp Thơng thường có dạng quy trình Dữ liệu vào → Xử lý → Kết :  Dạng : nhập hết liệu -> Xử lý từ đầu đến cuối- > Đưa từ đầu đến hết liệu  Vào trước – xử lý trước- Ra trước (cấu trúc liệu kiểu xếp hàng – Queue)  Vào sau, xử lý trướ trước(cấu trúc liệu kiểu ngăn xếp – stack) B2)Lập trình Sau có thuật tốn, xác định cách tổ chức liệu, tiến hành lập trình, diễn đạt thuật tốn thành câu lệnh Trong trình lập trình cần chạy thử (biên dịch chạy – compile and run) tìm lỗi Thường có loại lỗi : 1.2 • Lỗi cú pháp: theo thơng báo lỗi phần hình để sửa lỗi Mỗi lần sửa xong biên dịch chạy thử lại hết lỗi • Lỗi thuật tốn hay lỗi cơng thức, phép tính, cách tính: Chương trình chạy kết sai lỗi thuật toán, cần phải kiểm tra, sửa lại phép tính, cách tính hay thuật tốn Các khái niệm 1.2.1.Dữ liệu dạng mà máy ý nghĩa chúng Trong máy tính giá trị liệu đợc lu trữ dới dạng bit, số hệ đếm nhị phân ( 1) Các bit đợc tổ chức thành nhóm gọi Từ máy (word), tức word chứa số cố định bit Độ dài word thay đổi theo loại máy tính (máy 16 bit hay 32 bit) Các Từ máy đợc đánh địa 0, truy cập vào word theo địa Khi dạng mét d·y bit, nã cã thĨ biĨu diƠn nhiỊu ý nghĩa khác Trong ngôn ngữ lập trình cụ thể, ngời lập trình biểu diễn dÃy bits dới dạng cấu trúc xác định, cho phép xử lý diễn đạt đợc liệu Những khái niệm quan trọng liên quan đến liệu KiĨu d÷ liƯu, CÊu tróc d÷ liƯu, CÊu tróc d÷ liệu tĩnh , Cấu trúc liệu động, 1.2.2.Kiểu d÷ liƯu Các biến tham gia chương trình thường có giá trị kiểu số nguyên hay số thực, ký tự chữ hay chuỗi ký tự Ứng với kiểu, giá trị biến chiếm số lượng byte nhớ tương ứng Tất thông tin phải khai báo trước có lệnh thực chương trình Kiểu ký tự khai báo từ khóa char (viết tắt chữ character – ký tự), kiểu số nguyên – int(integer), kiểu số thực – float(floating – số thập phân), số thực có độ xác gấp đơi – double Bảng kiểu liệu, dung lượng nhớ chiếm dụng để lưu giá trị, giá trị lớn nhỏ lưu giữ với kiểu biến đó: Kiểu Độ rộng bit Dãy giá trị char byte -127 tới 127 tới 255 int byte -2147483648 tới 2147483647 short int byte -32768 tới 32767 long int byte -2,147,483,647 tới 2,147,483,647 float byte +/- 3.4e +/- 38 (~7 chữ số) double byte +/- 1.7e +/- 308 (~15 chữ số) (Chú ý : tên kiểu viết thường, không viết hoa) Biến kiểu ký tự char chiếm byte nhớ, giá trị mã từ -128 đến 127 Sau khai báo, biến kiểu char nhận giá trị theo cách tương đương – chữ giá trị số Trong bảng mã ASCII, cột có bên trái số từ đến 255, bên phải ký tự ứng với số mã bên trái, ví dụ mã 65 chữ A,…, 97 chữ a, 62 >, 63 ?, v,v… Ví dụ : s biến kí tự câu lệnh gán s = ‘A’ tương đương với câu lệnh gán s = 65 Khái niệm kiểu liệu quan trọng, xác định tập hợp giá trị mà biến nhận Mô tả kiểu quy định loại giá trị biến cung cấp cho chơng trình dịch thông tin cần thiết Kiểu liệu quy định phép toán thực đợc liệu a)D liu kiu nguyờn - int Dữ liệu kiểu int đợc lu trữ từ máy Tựy theo loi mỏy tớnh, độ dài từ máy giới hạn phạm vi số nguyên lu trữ đợc Số nguyên lớn lu trữ đợc từ máy bit 27-1=127, từ máy 16 bit 2151=32767, từ máy 32 bit 231-1= 2.147.483.647 b)Dữ liệu kiểu số thập phân - float Trong hệ đếm nhị phân, mét sè thùc bÊt kú cã thĨ biƠu diễn b»ng tỉng c¸c sè víi mị cđa i=n X = ∑ ai*2i ®ã =0 i=-m Có hai cách lu số thực : dấu chấm tĩnh(fixed point) dấu chấm động (floating point) VÝ dơ 110.101 (6.625) hay 0.110101x2 Mét phÇn từ máy đợc dùng để lu trữ số cố định bit phần định trị, phần khác lu trữ phần mũ . c)D liu kiu ký t - char Máy lu trữ liệu ký tự dựa sở gán mà số cho ký tự Các ký tự đợc biểu diễn mà nhị phân, từ máy 16 bit chia thành hai byte, byte lu trữ ký tự dới dạng nhị phân Ký tự đợc mà hoá theo ASCII (American Standard Code for information Interchange – Bộ mã chuẩn Mỹ dùng để trao đổi thông tin) hay EBCDIC (extended Binary Code Decimal Interchange Code- M· BCD më rộng) Phép toán phổ biến cho ký tự so lùa tn tù (collating sequence) VÝ dơ : ký tự A bảng mà ASCII có mà 65, ký tự B bảng mà ASCII có mà 66 Khi phép so sánh A>B cho kết qu¶ sai d)Dữ liệu kiểu chuỗi(xâu)ký tự - string d1.Khai báo hàm tiêu đề : #include d2.Khai báo kiểu string : string ; ví dụ : string xau; string xau1=” Cau truc du lieu va Thuat toan”; d3.Các phép toán chuỗi(xâu) ký tự  Gán chuỗi =, ví dụ o string xau1=” Cau truc du lieu va Thuat toan”;  Các phép nối chuỗi : + +=  Các phép so sánh chuỗi : ==, !=, >, >=,

Ngày đăng: 06/12/2021, 10:58

Mục lục

    Phßng xÐt nghiÖm

    b)Dữ liệu kiểu số thập phân - float

    c)Dữ liệu kiểu ký tự - char

    d)Dữ liệu kiểu chuỗi(xâu)ký tự - string

    e)Dữ liệu kiểu Logic

    Phßng xÐt nghiÖm

    B¸c sÜ trong

    Nh©n viªn Phòng. BÖnh viÖn phôc

    ®iÒu trÞ B¸c sÜ vô

    a)Virtual memory & Physical memory

Tài liệu cùng người dùng