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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 7
Dung lượng 49,5 KB

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

w