Lập trình C nâng cao - Fit Lec 2 (HUST) GV.AnhTT
Bài giảng về Symbol Tables và các cấu trúc dữ liệu lưu trữ cặp khóa-giá trị trong C, bao gồm các cách cài đặt từ mảng đơn giản, danh sách liên kết cho đến bảng ký hiệu tổng quát với con trỏ hàm. Tài liệu cung cấp ví dụ thực tế về ứng dụng trong điện thoại và bài tập liên quan.
Génération de l'aperçu...
ADT Symbol Tables Key-value pair abstraction. Insert a value with specified key. Given a key, search for the corresponding value. Example: DNS lookup. Insert URL with specified IP address. Given URL, find corresponding IP address anhtt-fit@mail.hut.edu.vn dungct@it-hut.edu.vn http://www.mediafire.com/?n2yzyjnnn10 Example applications Can interchange roles: given IP address find corresponding URL Elementary implementations Binary search implementation: maintaining two parallel arrays of keys and values, keeping them in key-sorted order. It uses binary search for get. Linked list implementation. Both put and get take linear time per operation: to search for a key, we need to traverse its links; to put a key-value pair, we need to search for the given key. Binary search trees. Performance depend on the shape of tree. 1 Implementation Define a structure to store key-value pairs Example: phonebook typedef struct { long number; char name[80] } PhoneEntry; Using array for implementation Key-value pairs are stored in an ordered array Example: #define MAX_PHONE_NUMBER 1000 typedef struct { PhoneEntry entries[MAX_PHONE_NUMBER]; int total; } PhoneBook; The key is phone number and the value is person name API Quiz 1 Add an entry in the phone book void addPhoneNumber(long number, char * name, PhoneBook* book); NB: If the entry exists, the value should be overwritten. Write a program to add and search phone numbers in a phone book using an array for implementation Find an entry in the phone book char * getPhoneNumber(long number, const PhoneBook* book); returns null if the entry does not exist 2 Using dynamic memory API The memory to store the entries should be allocated dynamically according to the size of the phone book. typedef struct { PhoneEn
… Téléchargez le fichier original pour lire le document complet.
- Nom du document
- Lập trình C nâng cao - Fit Lec 2 (HUST) GV.AnhTT
- École / Cours
- Đại học Bách khoa Hà Nội · Lập trình C
- Auteur (dans le document)
- AnhTT
- Contenu
- Tài liệu này mô tả cấu trúc dữ liệu bảng ký hiệu, các phương pháp cài đặt khác nhau (mảng, danh sách liên kết, cây nhị phân), và cách xây dựng bảng ký hiệu tổng quát trong lập trình C. Nó cung cấp ví dụ về danh bạ điện thoại và các bài tập thực hành.
- Table des matières
- ADT
- Symbol Tables
- Example applications
- Elementary implementations
- Implementation
- API
- Quiz 1
- Using dynamic memory
- API
- Quiz 2
- Homework K53
- Generic symbol tables
- API
- Example
- Guide - creatSymbolTable function
- Pages
- 7 pages
- Téléversé par
- lienhejb
Foire aux questions
Ce document est-il gratuit ?
Oui. « Lập trình C nâng cao - Fit Lec 2 (HUST) GV.AnhTT » est gratuit — il suffit de vous connecter et de cliquer sur Télécharger pour obtenir le fichier original.
Combien de pages compte ce document ?
Le document contient 7 pages, pour le cours Lập trình C. Vous pouvez le prévisualiser en ligne avant de le télécharger.
Puis-je prévisualiser avant de télécharger ?
Oui. Vous pouvez prévisualiser ce document directement sur cette page avec le lecteur en ligne, puis décider de le télécharger ou non.

Commentaires (0)
Aucun commentaire pour le moment. Soyez le premier !