Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
rudeeeboy
14 / 14 / 1
Регистрация: 08.11.2010
Сообщений: 172
#1

Таблица перекрестных ссылок и бинарное дерево - C++

23.03.2012, 22:11. Просмотров 743. Ответов 1
Метки нет (Все метки)

Для хранения информации о ключевых словах некоторой программы имеется таблица перекрестных ссылок. Для каждого слова задан список номеров строк, где оно встречается, а для каждой строки - число образцов данного слова в строке. Ключевые слова расположены по алфавиту. Построить бинарное дерево для быстрого поиска ключевых слов. Составить программу определения общего количества вхождений заданного ключевого слова. Обеспечить корректировку дерева поиска для случая удаления ключевого слова из некоторой строки.


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#include<iostream>
#include<stdlib.h>
#include<conio.h>
#include<time.h>
using namespace std;
 
struct Node 
{
        int key;
        Node *right,*left;
};
 
typedef Node *KNode;
const int n=7;
KNode maketree(int mass[],int *from, int n);
void PrintTree (KNode tree, int r);
 
KNode maketree(int mass[],int *from, int n)
{
        KNode tree;
        if(n==0) return NULL;
        int nr,nl;
        tree=new Node;
        tree->key=mass[*from];
        (*from)++;
        nl=n/2;
        nr=n-nl-1;
        tree->left=maketree(mass,from,nl);
        tree->right=maketree(mass,from,nr);
        return tree;
}
 
void PrintTree (KNode tree, int r)
{
        if(tree!=NULL)
        {
            PrintTree(tree->right, r+5);
            for (int i=0; i < r ; i++)
                printf(" ");
            printf("%d\n",tree->key);
            PrintTree(tree->left, r+5);
        }
}    
int main()
{ 
        srand(time(NULL));
        int mass[n], i;
        for(int i=0;i<n*2;i++)
                mass[i]=0;
        for(int i=0;i<n*2;i++)
                mass[i]=4;//((rand()%9)+1)*10+rand()%10;
        /*for(int i=0;i<n;i++)
                for(int j=i+1;j<n;j++)
                        if(mass[i]=mass[j])
                        {
                        mass[j]=((rand()%9)+1)*1000+rand()%100;
                                j=i+1;
                        }*/
        mass[0]=1;
        mass[1]=4;
        mass[2]=6;
        mass[3]=2;
        mass[4]=4;
        mass[5]=5;
        mass[6]=8;            
        
        printf("Initial sequence\n");
        for(int i=0;i<n;i++)
                printf("%i ",mass[i]);
        printf("\n");
        KNode Tree1;
        i = 0;
        Tree1=maketree(mass,&i,n);
        PrintTree(Tree1,0);
        getch();
        //system("PAUSE");
}
я как понял надо добавить ещё структуру, в которой будет слово и номера строк, верно? и куда её добавить?(структуру) и осуществить поиск? спс
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.03.2012, 22:11     Таблица перекрестных ссылок и бинарное дерево
Посмотрите здесь:
Таблица перекрестных ссылок C++
Таблица перекрестных ссылок на основе использования динамических списков и деревьев C++
Напишите программу выдачи перекрестных ссылок C++
C++ Бинарное дерево
C++ Дерево бинарное
C++ Бинарное дерево
Бинарное дерево C++
C++ Бинарное дерево
C++ Бинарное дерево
C++ Бинарное дерево
C++ Бинарное дерево
Бинарное дерево C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rudeeeboy
14 / 14 / 1
Регистрация: 08.11.2010
Сообщений: 172
25.03.2012, 11:40  [ТС]     Таблица перекрестных ссылок и бинарное дерево #2
с добрым утром всех)
Yandex
Объявления
25.03.2012, 11:40     Таблица перекрестных ссылок и бинарное дерево
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru