Создание эффективной реализации сортированного списка с испо
От: Сергей Смирнов (Serginio1) СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 30.01.04 15:25
Оценка: 495 (8)
Статья:
Создание эффективной реализации сортированного списка с использованием generics
Автор(ы): Сергей Смирнов (Serginio1)
Дата: 14.08.2004
Пример реализации двухуровневого массива с помощью нового средства С# — generics. Сравнение производительности различных реализаций сортированных списков.


Авторы:
Сергей Смирнов (Serginio1)

Аннотация:
Пример реализации двухуровневого массива с помощью нового средства С# — generics. Сравнение производительности различных реализаций сортированных списков.
и солнце б утром не вставало, когда бы не было меня
Re: Создание эффективной реализации сортированного списка с
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 30.01.04 15:43
Оценка:
Здравствуйте, Сергей Смирнов (Serginio1), Вы писали:

ССS>Статья:



ССS>Авторы:

ССS> Сергей Смирнов (Serginio1)

ССS>Аннотация:

ССS>Пример реализации двухуровневого массива с помощью нового средства С# — generics. Сравнение производительности различных реализаций сортированных списков.

Сначала эта статья рассматривалась как описание Б+ деревьев, которые присутствуют в исходниках, но затем было решено реализовать их с поддержкой Dictonary и их сравнения. Так двухуровневоый массив сортированного списка является подмножеством Б+ деревьев, ограниченный вторым уровнем и с поддержкой интерфейса IDictionary с расширенной навигацией.
и солнце б утром не вставало, когда бы не было меня
Re: Создание эффективной реализации сортированного списка с
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 19.02.04 11:31
Оценка:
Прошу прощения но обнаружил ошибки
В методе private void Delete() класса TwoLevelSortedDictonary<K,V>
Заменить
if ((LeftPage.Count + CurrentLeafPage.Count) <= BTConst.MaxCount)
и
if ((RightPage.Count + CurrentLeafPage.Count) <= BTConst.MaxCount)

на
if ((LeftPage.Count + CurrentLeafPage.Count) < BTConst.MaxCount)
и
if ((RightPage.Count + CurrentLeafPage.Count) < BTConst.MaxCount)

Так как в данной реализации листовая страница не должна быть полностью заполнена для упрощения кода.

В классе class BPlusTree<K,V>: Generic.IDictionary<K,V>, Generic.ICollection<Generic.KeyValuePair<K,V>>, Generic.IEnumerable<Generic.KeyValuePair<K,V>>

Методы интерфейсов пустышки.
и солнце б утром не вставало, когда бы не было меня
Re: Создание эффективной реализации сортированного списка с
От: TK Лес кывт.рф
Дата: 17.08.04 07:08
Оценка: 7 (3)
Hello, "Сергей Смирнов (Serginio1)"

> Пример реализации двухуровневого массива с помощью нового средства С# — generics. Сравнение производительности различных реализаций сортированных списков.


А здесь уже занялись разработкой библиотеки классов-коллекция для .NET 2.0 http://wintellect.com/powercollections/

A Community Project to Develop the Best Public License Collection Classes for .NET
With .NET 2.0 comes the ability to implement what has been known in C++ as template classes. Generics are like C++ templates, only better. To learn more about generics, check out Jason Clark’s article in MSDN Magazine: http://msdn.microsoft.com/msdnmag/issues/03/09/NET/

Leading the development effort is Peter Golde, formerly a Lead Designer for the C# language. Peter is currently building the starting set of classes as well as incorporating ideas from the community into a set of collection classes to be made freely available to the public.

We Need Your Help!

We ask for your input on the specification, design and code. You can review the current Power Collections Specification here. When you are done, you can post comments to the Power Collections Class Discussion located in the Power Collections Forums.

Posted via RSDN NNTP Server 1.9 alpha
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re: Создание эффективной реализации сортированного списка с
От: Trapper  
Дата: 17.08.04 08:11
Оценка: :))) :))) :)
В public bool NavigateKey(K key) стоит заменить строчку "// Перебираем срани", на что — нибудь более политкорректное.
Trapper
Re[2]: Создание эффективной реализации сортированного списка
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 17.08.04 08:59
Оценка:
Здравствуйте, Trapper, Вы писали:

T>В public bool NavigateKey(K key) стоит заменить строчку "// Перебираем срани", на что — нибудь более политкорректное.

Да уж есть такое дело. Давно заметил, но оно придает некую изюминку.
и солнце б утром не вставало, когда бы не было меня
Re[2]: Создание эффективной реализации сортированного списка
От: VladD2 Российская Империя www.nemerle.org
Дата: 17.08.04 09:01
Оценка:
Здравствуйте, TK, Вы писали:

TK>А здесь уже занялись разработкой библиотеки классов-коллекция для .NET 2.0 http://wintellect.com/powercollections/


Что я говорил? Это обязано было произойти.
... << RSDN@Home 1.1.4 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Создание эффективной реализации сортированного списка
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 17.08.04 09:04
Оценка:
Здравствуйте, TK, Вы писали:

Самое странное, что Б+ деревьев, несмотря на их эффективность нет ни в одной библиотеке.
Есть бинарные деревья (обычно красно — черные).
Хотя могу и ошибаться.
и солнце б утром не вставало, когда бы не было меня
Re: Создание эффективной реализации сортированного списка с
От: G2 Ниоткуда  
Дата: 26.02.05 18:23
Оценка:
Здравствуйте, Сергей Смирнов (Serginio1), Вы писали:

ССS>Пример реализации двухуровневого массива с помощью нового средства С# — generics. Сравнение производительности различных реализаций сортированных списков.


Не могу скачать пример к статье.
Улыбаемся и машем :-)
Re[2]: Создание эффективной реализации сортированного списка
От: G2 Ниоткуда  
Дата: 27.02.05 17:46
Оценка:
Здравствуйте, G2, Вы писали:

G2>Не могу скачать пример к статье.


Скачал.
Улыбаемся и машем :-)
Re[3]: Создание эффективной реализации сортированного списка
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 28.02.05 11:03
Оценка:
Здравствуйте, G2, Вы писали:

G2>Скачал.

Только проблема в том, что исходники писались еще для 1.2. По сравнению с 2.0. там изменились Default, и возможность проинлайнивания компараторов. Пока руки не доходят поставить 2.0
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
и солнце б утром не вставало, когда бы не было меня
Re[4]: Создание эффективной реализации сортированного списка
От: G2 Ниоткуда  
Дата: 28.02.05 11:07
Оценка: :))
Здравствуйте, Serginio1, Вы писали:

G2>>Скачал.

S> Только проблема в том, что исходники писались еще для 1.2. По сравнению с 2.0. там изменились Default, и возможность проинлайнивания компараторов. Пока руки не доходят поставить 2.0

Я,пока сам для себя попытаюсь (в образовательных целях), не обидитесь?
Улыбаемся и машем :-)
Re[5]: Создание эффективной реализации сортированного списка
От: G2 Ниоткуда  
Дата: 28.02.05 11:12
Оценка:
G2>Я,пока сам для себя попытаюсь (в образовательных целях), не обидитесь?

Я про копирайт.
Улыбаемся и машем :-)
Re[6]: Создание эффективной реализации сортированного списка
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 28.02.05 11:23
Оценка:
Здравствуйте, G2, Вы писали:


G2>>Я,пока сам для себя попытаюсь (в образовательных целях), не обидитесь?


G2>Я про копирайт.


Этого то ... не жалко. Ничего там революционного нет, правда чуть эффективнее существующих в Net сортированных списков и словарей.
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
и солнце б утром не вставало, когда бы не было меня
Re[7]: Создание эффективной реализации сортированного списка
От: VladD2 Российская Империя www.nemerle.org
Дата: 06.03.05 21:46
Оценка: +2
Здравствуйте, Serginio1, Вы писали:

S> Этого то ... не жалко. Ничего там революционного нет, правда чуть эффективнее существующих в Net сортированных списков и словарей.


Надо бы залудить открытый проект и сложить туда все перспективные самопальные коллекции... чтобы все можно было в виде библиотечки заюзать. Думаю, будет очень полезно.
... << RSDN@Home 1.1.4 beta 3 rev. 279>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.