1. Trang chủ
  2. » Công Nghệ Thông Tin

Đề thi cơ sở dữ liệu và giải thuật 4 ppt

7 594 1
Tài liệu đã được kiểm tra trùng lặp

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Đề thi cơ sở dữ liệu và giải thuật 4 ppt
Trường học University of Science and Technology
Chuyên ngành Database and Algorithms
Thể loại Đề thi
Định dạng
Số trang 7
Dung lượng 49,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

bool Empty const ; // Xác định xem danh sách có rỗng kô // Precondition : // Postcondition: Trả về true nếu danh sách rỗng int Length const; // bool IsExistint x; // Kiểm tra xem danh sá

Trang 1

Đề 4 (K46) Câu1

a.Đặc tả

//DL.h

// Giải thích về lớp

#ifndef _DL_H_

#define _DL_H_

#include <assert.h>

class node

{

int data;

node * next;

node(int x)

{

data = x; next = NULL;

};

}

class DL

{

public :

DL()

// Khởi tạo danh sách rỗng

// Precondition

// Postcondition

{Head = NULL ; Tail = NULL; length = 0}; DL(const DL & _dl);

// Hàm kiến tạo copy

//

//

~ DL();

// Hàm hủy

//

//

DL& operator = (const DL & _dl);

// Toán tử gán

//

Trang 2

bool Empty() const ;

// Xác định xem danh sách có rỗng kô

// Precondition :

// Postcondition: Trả về true nếu danh sách rỗng

int Length() const;

//

bool IsExist(int x);

// Kiểm tra xem danh sách có chứa số nguyên x kô // Precondition : danh sách khác rỗng

// Postcondition : trả về true……

void Insert(int x);

//

//

//

friend DL& KetHop(const DL& dl1 , const DL& dl2); //

//

//

private :

node * Head;

node * Tail;

int length;

}

#endif

b.Cài đặt

void DL :: Insert (int x)

{

node * Q = new node(x);

if (Empty())

{

Head = Q ; Tail = Q; length = 1;

}

node * Pre , P ;

Pre = P = Head;

Trang 3

While (Pre != Tail)

{

if ( x <= P->data ) break;

Pre = P;

P = P->next;

}

if (P == Head) // Chèn vào đầu

{

Q -> next = Head;

Head = Q;

}

else if (P == NULL) // Chèn vào cuối

{

Pre ->next = Q;

}

else //Chèn vào giữa

{

Q ->next = P;

Pre ->next = Q;

}

}

Câu 2

a.Mô tả

//HUT.h

// Giải thích về lớp

#ifndef _ HUT _H_

#define _ HUT _H_

#include <assert.h>

template <class item>

class node

{

item data;

int key;

node(const & item _data , const int & _key) {

data = _data ; key = _key;

};

friend class HUT<item>;

}

Trang 4

template <class item>class HUT

{

public :

static const int SIZE = 1000;

HUT()

// Khởi tạo danh sách rỗng

// Precondition

// Postcondition

HUT (const HUT & _dl);

// Hàm kiến tạo copy

//

//

HUT (node * _element , int n)

// Xây dựng hàng ưu tiên từ n phần từ lưu trong mảng _element

~ HUT ();

// Hàm hủy

//

//

HUT & operator = (const HUT & _dl);

// Toán tử gán

//

//

bool Empty() const ;

// Xác định xem danh sách có rỗng kô

// Precondition :

// Postcondition: Trả về true nếu danh sách rỗng

int Length() const;

//

void Insert(node _data);

//

//

//

node & FindMin() const;

//

//

//

Trang 5

node & DeleteMin();

// Loại đối tượng có độ ưu tiên nhỏ nhất

//

// Trả về đối tượng có độ ưu tiên nhỏ nhất private :

node element[SIZE];

int last;

void ShiftDown(int i);

// Đẩy dữ liệu trong đỉnh i xuống vị trí thích hợp //

//

}

#endif

b.Cài đặt

template <class item> node& HUT :: DeleteMin() {

assert(last >= 0);

element[0] = element[last];

ShiftDown(0);

}

Câu 3

a1.Mô tả

//ChainHash.h

// Giải thích về lớp

#ifndef _ ChainHash _H_

#define _ ChainHash _H_

#include <assert.h>

typedef int keyType;

template <class item>

class ChainHash

{

public :

static const int SIZE = 1000;

ChainHash ()

// Khởi tạo danh sách rỗng

Trang 6

// Precondition

// Postcondition

ChainHash (const ChainHash & _dl);

// Hàm kiến tạo copy

//

//

~ ChainHash ();

// Hàm hủy

//

//

ChainHash & operator = (const ChainHash & _dl); // Toán tử gán

//

//

bool Search(keyType k , Item & I) const;

//

//

//

void Insert(const item & _data);

//

//

//

void & Delete (keyType k);

// Loại đối tượng có độ ưu tiên nhỏ nhất

//

// Trả về đối tượng có độ ưu tiên nhỏ nhất

private :

struct CELL

{

item data;

CELL * next;

}

CELL element[SIZE];

}

#endif

a2.Cài đặt

Trang 7

template <class item> void ChainHash:: Insert (const item & _data) {

i = Hash(_data);

………

}

b Vẽ hình

Hàng 0 : 5

Hàng 1 : 31 -> 16

Hàng 2 : 12 -> 217 -> 42

Hàng 3 :

Hàng 4 : 9

Câu 4 :

a Theo chiều rộng : A , B , C , G , D , F

b Theo chiều sâu : A , B , G , D , F , C

Câu 5 : Giống bài thi Toán rời rạc vừa thi

Chúc mọi người thi tốt

Ngày đăng: 13/07/2014, 02:20

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w