Tài liệu: Giáo trình cấu trúc dữ liệu và giải thuật - Chương 1: Tổng quan

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à 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ó. 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ìnhVớ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.
Phóng to
Tài liệu cùng nhóm
Giáo trình cấu trúc dữ liệu và giải thuật - Chương 2: Danh sách

Tài liệu: Giáo trình cấu trúc dữ liệu và giải thuật - Chương 2: Danh sách

  »  

Danh sách (list) là một trong những cấu trúc cơ bản nhất được cài đặt trong hầu hết các chương trình ứng dụng. Danh sách là một kiểu dữ liệu trừu tượng có nhiều nút cùng kiểu dữ liệu, các nút trong danh sách có thứ tự.Có hai cách cài đặt danh sách là cài đặt theo kiểu kế tiếp và cài đặt theo kiểu liên kết. Với cách cài đặt thứ nhất chúng ta có danh sách kề hay còn gọi là danh sách đặc, với cách cài đặt thứ hai chúng ta được danh sách liên kết.
Giáo trình cấu trúc dữ liệu và giải thuật - Chương 3: Cấu trúc Stack & Queue

Tài liệu: Giáo trình cấu trúc dữ liệu và giải thuật - Chương 3: Cấu trúc Stack & Queue

  »  

Stack có thể được xem là một dạng danh sách đặc biệt trong đó các tác vụ thêm vào hoặc xóa đi một phần tử chỉ diễn ra ở một đầu gọi là đỉnh stack. Trên stack các nút được thêm vào sau lại được lấy ra trước nên cấu trúc stack còn được gọi là LIFO (Last In First Out).Stack được dùng rộng rải để giải quyết các vấn đề có cơ chế LIFO, ví dụ các trình biên dịch của các ngôn ngữ lập trình thường dùng stack để kiểm tra cú pháp của các câu lệnh, để xử lý các biểu thức toán học, để xử lý việc gọi các chương trình con, xử lý việc gọi hàm đệ qui … Stack cũng thường được dùng để chuyển một giải thuật đệ qui thành giải thuật không đệ qui.Có hai tác vụ chính trên stack là tác vụ push dùng để thêm một phần tử vào đỉnh stack và tác vụ pop dùng để xoá đi một phần tử ra khỏi đỉnh stack.
Giáo trình cấu trúc dữ liệu và giải thuật - Chương 4: Cây nhị phân

Tài liệu: Giáo trình cấu trúc dữ liệu và giải thuật - Chương 4: Cây nhị phân

  »  

Stack, hàng đợi, danh sách là các cấu trúc tuyến tính - các nút trong các cấu trúc này có thứ tự, khi duyệt các cấu trúc này chúng ta duyệt tuần tự từ nút 1, nút 2, đến nút cuối.Chương này chúng ta sẽ nghiên cứu một cấu trúc không tuyến tính được sử dụng rất phổ biến là cây nhị phân. Các nút trên cây nhị phân không có thứ tự, mỗi cây nhị phân có một nút gốc, có nhánh cây con bên trái và nhánh cây con bên phải; mỗi nhánh cây con lại tự thân hình thành một cây nhị phân cũng có nút gốc và hai nhánh cây con riêng. Người ta gọi cây nhị phân là cây bậc 2, vì mỗi nút trên cây có tối đa hai nhánh cây con. Cây nhiều nhánh là cây có bậc lớn hơn 2, mỗi nút trên cây nhiều nhánh có thể có nhiều hơn 2 nhánh cây con. Cây nhiều nhánh sẽ được xem xét ở chương sau.
Giáo trình cấu trúc dữ liệu và giải thuật - Chương 7: Sắp xếp

Tài liệu: Giáo trình cấu trúc dữ liệu và giải thuật - Chương 7: Sắp xếp

  »  

Sắp xếp các nút của một cấu trúc theo thứ tự tăng dần (hay giảm dần) là một công việc được thực hiện thường xuyên. Với một cấu trúc đã được sắp xếp chúng ta rất thuận tiện khi thực hiện các tác vụ trên cấu trúc như tìm kiếm, trích lọc duyệt cấu trúc…Có hai giải thuật sắp xếp được dùng phổ biến trong khoa học máy tính là sắp xếp dữ liệu trên bộ nhớ trong (internal sort) và sắp xếp dữ liệu trên bộ nhớ ngoài (external sort).Với sắp xếp dữ liệu trên bộ nhớ trong thì toàn bộ dữ liệu cần sắp xếp được đưa vào bộ nhớ trong, do vậy kích thước dữ liệu cần sắp xếp không lớn, tuy nhiên thời gian sắp xếp được thực hiện rất nhanh. Với sắp xếp dữ liệu trên bộ nhớ ngoài thì chỉ một phần nhỏ dữ liệu cần sắp xếp được đưa vào bộ nhớ trong, phần lớn dữ liệu được lưu trữ ở bộ nhớ ngoài như đĩa từ, băng từ, đĩa cứng… kích thước dữ liệu cần được sắp xếp lúc này rất lớn và thời gian sắp xếp rất chậm.Để phân tích đánh giá giải thuật sắp xếp, chúng ta cần thẩm định giải thuật chiếm dụng bao nhiêu vùng nhớ, giải thuật chạy nhanh hay chạy chậm. Hai tiêu chí chính dùng để phân tích một giải thuật sắp xếp là:• Sự chiếm dụng bộ nhớ của giải thuật.• Thời gian thực hiện của giải thuật.
Giáo trình hệ thống nhúng

Tài liệu: Giáo trình hệ thống nhúng

  »  

Hiện nay hệ thống nhúng đã và đang từng bước phát triển ở Việt nam, nó thay cho các hệ thống vi xử lý trước đây. Hệ thống nhúng được ứng dụng rộng rãi trong ngành điện tử, máy tính và viễn thông như các hệ thống điện thoại, các máy đo, các hệ thống điều khiển tự động trong công nghiệp, thương mại và ngân hàng. Tuy nhiên vẫn chưa có một định nghĩa cụ thể về hệ thống nhúng. Thông qua quá trình vận hành, xây dựng và phát triển hệ thống nhúng chúng ta có thể hiểu hệ thống nhúng như sau:o Hệ thống nhúng là một ứng dụng bao gồm ít nhất một thiết bị lập trình được như vi xử lý, vi điều khiển hay các vi mạch xử lý sô. Nó là một hệ thống dựa trên vi xử lý để thực hiện một chức năng hay một dãy chức năng cụ thể nào đó.o Hệ thống nhúng là một ứng dụng được tích hợp cả phần cứng và phần mềm nhằm phục vụ các bài toán chuyên dụng trong lĩnh vực công nghiệp, y tế, quân sự.o Một máy tính PC là một thiết bị có nhiều chức năng và người sử dụng có thể thay đổi các chức năng thông qua việc thêm, xóa phần mềm ứng ụng, trong khi đó hệ thống nhúng được thiết kế để phục vụ một số chức năng cụ thể, xác định. Chính vì thế hệ thống nhúng được các nhà phát triển tối ưu hóa nó nhằm giảm thiểu kích thướt và chi phí sàn xuất.o Các thiết bị cầm tay PDA cũng có đặc điểm giống hệ thống nhúng nhưng chúng không phải là hệ thống nhúng vì chúng có nhiều chức năng.o Để thay đổi chức năng của hệ thống nhúng thông thường người ta dựa và các công cụ phát triển và công việc này do các chuyên gia phát triển hệ thống nhúng thực thiện. Quá trình xây dựng lại chức năng hệ thống nhúng giống như quá trình thay đổi chức năng hệ điều hành, thông thường người ta thay đổi, sữa chửa, thêm, xóa các trình điều khiển, hoạt động của hệ thống sau đó tiến hành biên dịch lại cho hệ thống nhúng.
Giáo trình ngôn ngữ SQL

Tài liệu: Giáo trình ngôn ngữ SQL

  »  

Giống như các ngôn ngữ bậc cao khác, ngôn ngữ SQL được xây dựng dựa trên các chữ cái, các chữ số, các ký tự (dấu phép toán, dấu ngăn, dấu cách và các ký tự đặc biệt) và một tập các từ khóa. Một lệnh của SQL có thể được viết trên một dòng hoặc nhiều dòng, kết thúc bằng dấu chấm phảy “;”. Ngôn ngữ SQL được chia thành ba nhóm:- Ngôn ngữ định nghĩa dữ liệu dùng để mô tả cấu trúc của cơ sở dữ liệu (các bảng, các khung nhìn, các thuộc tính, các chỉ mục, .)- Ngôn ngữ thao tác dữ liệu cho phép thực hiện các thao tác trên cơ sở dữ liệu như cập nhật cơ sở dữ liệu và truy vấn lấy ra các thông tin từ cơ sở dữ liệu.- Ngôn ngữ kiểm soát dữ liệu bao gồm các lệnh dùng để quản lý các giao tác, các quyền truy cập dữ liệu, kết nối với server. Ngôn ngữ SQL có thể sử dụng theo hai kiểu: kiểu trực tiếp và lập trình. QL trực tiếp cho phép thực hiện một truy vấn và nhận được kết quả ngay tức khắc. SQL lập trình cho phép sử dụng SQL trong một chương trình viết bằng ngôn ngữ ngôn ngữ lập trình bậc cao khác (C, Pascal,.), hoặc viết các chương trình con. Trong chương này chúng ta sẽ làm quen với các lệnh cơ bản của SQL. Các lệnh này được minh họa dựa trên một cơ sở dữ liệu “CÔNGTY” cho ở phần PHỤLỤC của giáo trình.
vMoney - Quản lý Tài chính cá nhân