Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.72/43: Рейтинг темы: голосов - 43, средняя оценка - 4.72
2 / 0 / 0
Регистрация: 17.11.2010
Сообщений: 18
1

Хэш таблица

17.11.2010, 19:12. Просмотров 8073. Ответов 3
Метки нет (Все метки)

Не получается!((( На с# . Условие задачи! Построить хэш таблицу, содержащую последовательность из m=45 элементов, размерность n=45.
-Хэш функция сумма всех цифр
- метод устранения квадратичной пробы!
Сам вывод массива из неповторяющихся элементов получился. А остальное нет
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.11.2010, 19:12
Ответы с готовыми решениями:

Хэш таблица
Создать хэш-таблицу, занести в неё значения строк вида «Элемент X», где X – значение элемента...

Хэш-таблица для хранения результатов соревнований
Доброго времени суток, киберчане. Прошу у вас помощи. Не прошу написать сам текст программы, считаю...

Определить класс «Озеро» и создать коллекцию «хэш-таблица» из объектов спроектированного класса
Составить программу на языке C#, в которой определить класс, характеризующий предметной области...

Реализовать структуру данных "хэш-таблица"
1. Реализовать структуру данных "хэш-таблица", реализовав методы добавления, удаления и поиска...

3
580 / 367 / 63
Регистрация: 22.07.2009
Сообщений: 875
Записей в блоге: 4
17.11.2010, 20:04 2
Цитата Сообщение от maimi Посмотреть сообщение
Не получается!((( На с# . Условие задачи! Построить хэш таблицу, содержащую последовательность из m=45 элементов, размерность n=45.
-Хэш функция сумма всех цифр
- метод устранения квадратичной пробы!
Сам вывод массива из неповторяющихся элементов получился. А остальное нет
Вы как-то урывками, "нервно" пишете. Очень сложно понять, что-же Вам надо...

1. Успокойтесь ). Задача явно решаемая.
2. Постарайтесь описывать условия задачи более подробно и структурировано.
3. Выложите то что у Вас получилось.
1
2 / 0 / 0
Регистрация: 17.11.2010
Сообщений: 18
18.11.2010, 21:37  [ТС] 3
Цитата Сообщение от sigmov Посмотреть сообщение
Вы как-то урывками, "нервно" пишете. Очень сложно понять, что-же Вам надо...

1. Успокойтесь ). Задача явно решаемая.
2. Постарайтесь описывать условия задачи более подробно и структурировано.
3. Выложите то что у Вас получилось.
Мне надо построить массив без повторений. Потом построить хэш таблицу с функцией сумма всех элементов массива и использовать метод квадратичной пробы. Сумма элементов не пол-ся сделать

Добавлено через 39 минут
Цитата Сообщение от maimi Посмотреть сообщение
Мне надо построить массив без повторений. Потом построить хэш таблицу с функцией сумма всех элементов массива и использовать метод квадратичной пробы. Сумма элементов не пол-ся сделать
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
 static void Main(string[] args)
        {
            int n, pr, t, sum,a = new int();
            double kollizii, zp, KofZ, prob = new double();
            const int m = 45;
            t = (int)(1.5 * m);
            int table = t;//размер хэш таблицы
            int[] mass = new int[m];//массив для генерации ключей
            int[,] zanmass = new int[t, 45]; //массив для хэш таблицы
            Random rand = new Random();
            Console.WriteLine("Вывод массива без повторений");
            for (int i = 0; i < m; i++)
            {
                n = rand.Next(10000, 99999);
                pr = 0;
                // если не первый элемент
                if (i != 0)
                {
                    // проверка на уникальность
                    while (pr != i)
                    {
                        for (int l = 0; l < i; l++)
                        {
                            if (mass[l] == n)
                            {
                                n = rand.Next(10000, 100000);
                            }
                            else ++pr;
                        }
 
                    }
                }
                mass[i] = n;
                Console.Write(mass[i] + "\t");
0
580 / 367 / 63
Регистрация: 22.07.2009
Сообщений: 875
Записей в блоге: 4
19.11.2010, 10:03 4
Цитата Сообщение от maimi Посмотреть сообщение
Мне надо построить массив без повторений. Потом построить хэш таблицу с функцией сумма всех элементов массива и использовать метод квадратичной пробы. Сумма элементов не пол-ся сделать
1. Где вы только русскому учились..... По прежнему ничего внятного не написали....
2. Судя по коду у Вас вообще Все неправильно.

- где сам класс хэш-таблицы?
- где хэш функция?
- где обработка коллизий?

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
public class MyHashTable: Hashtable
{
    public static int GetHash(int value)
    {
        int hashcode = 0;
        for (; value > 0; value /= 10)
            hashcode += value - ((int)value / 10) * 10;
        return hashcode;
    }
    public static readonly int Mod = GetHash(int.MaxValue);
 
    public MyHashTable() : base() { }
 
    public void Add(int value)
    {
        int hash = GetHash(value);
        while(this.ContainsKey(hash))
            if(this[hash].Equals(value)) return;
            else hash+=Mod;
        base.Add(hash, value);
    }
 
    public double Sum()
    {
        return (from x in this.Values.Cast<object>() select Convert.ToDouble(x)).Sum();
    }
}
 
unsafe static void Main(string[] args)
{
    MyHashTable ht = new MyHashTable();
    int n = 20;
    Random R = new Random();
    for (int i = 0, r; i < 20; i++)
        ht.Add(r = R.Next());
    foreach (DictionaryEntry e in ht)
    {
        int key = (int)e.Key;
        Console.WriteLine("[" + key + "," + e.Value + "]" + ((key > MyHashTable.Mod) ? (" kollizion level = " + key/ MyHashTable.Mod) : ""));
    }
    Console.WriteLine("Sum of values = " + ht.Sum());
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.11.2010, 10:03

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Хэш-таблица, поддерживающая несколько ключей
Инетерсует, если где реализация хэш-таблицы (лучше - с обобщённой типизацией), поддерживающая...

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

Хэш код
Добрый вечер, попался дипломный проект на тему составления программы для расчет хэш кода, c# я в...

Хэш-функция, теория
Здравствуйте. Хочу понять что такое хэш функция, опишу как я понял, а вы пожалуйста поправьте меня:...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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