Найдено результатов: 14

Лучшая самобалансировка BST для быстрого ввода большого количества узлов

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

Я хочу BST , который является оптимальным для хранения более десяти миллионов узлов. Порядок вставки узлов в основном случайный, и мне никогда не нужно будет удалять узлы, поэтому время вставки-это единственное, что нужно будет оптимизировать.

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

data-structures   language-agnostic   binary-search-tree    

516   3   16:03, 1st July, 2020


Лучшая самобалансировка BST для быстрого ввода большого количества узлов

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

Я хочу BST , который является оптимальным для хранения более десяти миллионов узлов. Порядок вставки узлов в основном случайный, и мне никогда не нужно будет удалять узлы, поэтому время вставки-это единственное, что нужно будет оптимизировать.

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

data-structures   language-agnostic   binary-search-tree    

433   3   16:03, 1st July, 2020


Найти узел, щелкнутый в контекстном меню

Как узнать, в каком узле древовидного списка было активировано контекстное меню? Например, щелкните правой кнопкой мыши узел и выберите нужный пункт в меню.

Я не могу использовать свойство TreeViews' SelectedNode , потому что узел был только щелкнут правой кнопкой мыши и не выбран.

c#   winforms   treeview   contextmenu    

521   9   16:03, 1st July, 2020


Оценка экспрессии и Хождение по деревьям с использованием полиморфизма? (Ала Стив Егге)

Сегодня утром я читал книгу Стива Йегге "когда полиморфизм терпит неудачу", когда наткнулся на вопрос, который его коллега обычно задавал потенциальным сотрудникам, когда они приходили на собеседование в Amazon.

Как пример полиморфизма в действие, давайте посмотрим на классику "eval" вопрос интервью, который (как насколько я знаю) был доведен до Amazon автор: Рон Браунштейн. Вопрос в том довольно богатый, как ему удается зондируйте большое разнообразие важных навыки: OOP дизайн, рекурсия, двоичный код деревья, полиморфизм и время выполнения набор текста, общие навыки кодирования и (если вы хотите сделать его еще более трудным) теория парсинга.

В какой-то момент кандидат с надеждой осознает, что вы можете представлять собой арифметическое выражение в двоичном виде дерево, предполагая, что вы только используете бинарные операторы, такие как" +", "-", "* " ,"/". Листовые узлы - это все числа, а внутренние узлы являются все операторы. Оценка состояния выражение означает ходить по дереву. Если кандидат этого не понимает, вы можете мягко привести их к этому, или если это необходимо, просто скажи им.

Даже если ты расскажешь им, это все равно будет неприятно. интересная проблема.

Первая половина вопроса, которая некоторые люди (чьи имена я буду называть защищать до последнего вздоха, но их инициалы-Вилли Льюис) feel is a Требования К Работе, Если Вы Хотите Позвонить Вы Сами Разработчик И Работаете На Amazon, на самом деле довольно сложно. То вопрос заключается в следующем: как вы идете от Ан арифметическое выражение (например, в a строку), такие как "2 + (2)" к дерево выражения. У нас может быть ADJ вызов по этому вопросу у некоторых точка.

Вторая половина такова: допустим, это проект из 2 человек и ваш партнер, кого мы будем называть "Willie", это ответственный за преобразование строковое выражение в дереве. Вы получаете самая простая часть: вам нужно решить, что именно классы Вилли должен построить дерево С. Вы можете сделать это в любом случае язык, но убедитесь, что вы выбираете один, или Вилли вручит тебе assembly язык. Если он чувствует себя раздраженным, то это будет для процессора то есть нет дольше производится в производстве.

Вы были бы поражены, узнав, сколько кандидатов БОФФ вот этот.

Я не буду давать вам ответ, но ... Стандартное плохое решение предполагает использование состояния переключателя или случая (или просто доброе старомодное каскадное "если"). Один Немного лучшее решение включает в себя использование таблицы указателей функций, и вероятно лучшее решение предполагает использование полиморфизма. Я рекомендуем вам работать через него иногда. Забавная штука!

Итак, давайте попробуем решить эту проблему всеми тремя способами. Как перейти от арифметического выражения (например, в строке), такого как "2 + (2)", к дереву выражений, используя каскадные if, таблицу указателей функций и / или полиморфизм?

Не стесняйтесь решать один, два или все три вопроса.

[update: заголовок изменен, чтобы лучше соответствовать тому, что было в большинстве ответов.]

oop   recursion   polymorphism   binary-tree    

533   16   03:31, 22nd August, 2020


Как получить доступ к Ruby AST из кода уровня C?

Я понимаю, что Ruby 1.8 AST проходит во время выполнения с использованием оператора big switch, и многие вещи, такие как вызов метода в классе или родительском модуле, включают интерпретатор, который смотрит вверх и вниз по дереву, когда он идет. Есть ли простой способ получить доступ к этому AST в Ruby C расширение? Связано ли это с расширением Ruby API или требует взлома внутренних структур данных напрямую?

c   ruby   tree   interpreter    

365   2   11:18, 26th August, 2020


Предотвратить запуск событий TreeView в VB6?

В некотором коде VB6 у меня есть обработчик для события коллапса TreeView:

Private Sub MyTree_Collapse(ByVal Node as MSComCtlLib.Node)

Это вызывается всякий раз, когда узел в дереве сворачивается, будь то пользователем или программно. Как оказалось, через некоторое Окольное выполнение может случиться так, что этот обработчик закончит тем, что скажет узлу свернуться, что приведет к бесконечной рекурсии.

Я могу придумать несколько способов освежевать эту кошку, но мне кажется, что проще всего сказать TreeView не вызывать события в течение некоторого периода времени. Я не могу найти простой звонок, чтобы позволить мне сделать это, хотя. Кто-нибудь успешно сделал это, или мне нужно отслеживать состояние каким-то другим способом, чтобы я мог реагировать соответствующим образом, когда появляются рекурсивные события?

events   vb6   treeview    

432   4   11:36, 18th August, 2020


Разбор полезного адреса улицы, города, штата, Zip из строки

Проблема: у меня есть поле адреса из базы данных Access, которая была преобразована в Sql Server 2005. В этом поле есть все, что находится в одном поле. Мне нужно разобрать отдельные разделы адреса на соответствующие поля в нормализованной таблице. Мне нужно сделать это примерно для 4000 записей, и это должно быть повторяемо.

Предубеждения:

  1. Предположим, что адрес в US (на данный момент)

  2. предположим, что входная строка иногда будет содержать адресата (лицо, к которому обращаются) и/или второй адрес улицы (например, номер B)

  3. государства могут быть сокращены

  4. Код zip может быть стандартным 5-значным или zip+4

  5. в некоторых случаях есть опечатки

UPDATE: в ответ на поставленные вопросы, стандарты не были соблюдены повсеместно, мне нужно хранить индивидуальные значения, а не только геокод и ошибки означает опечатку (исправлено выше)

выборочные данные:

  • А. П. Кролл & Сын 2299 Льюис-Джорджтаун Hwy, Джорджтаун, DE 19947

  • 11522 Шони-Роуд, Гринвуд DE 19950

  • 144 Кингс-Хайвей, S.W. Дувр, DE 19901

  • Интегрированная Константа. Услуги 2 Penns Way Suite 405 New Castle, DE 19720

  • Humes Realty 33 Bridle Ridge Court, Льюис, DE 19958

  • Раскопки Николса 2742 Pulaski Hwy Newark, DE 19711

  • 2284 Брин Сион Роуд, Смирна, DE 19904

  • VEI Dover Crossroads, LLC 1500 Serpentine Road, Suite 100 Baltimore MD 21

  • 580 North Dupont Highway Dover, DE 19901

  • P.O. Вставка 778 Дувр, DE 19903

string   parsing   sql-server-2005   street-address    

597   24   17:53, 16th August, 2020


Как сделать дерево в C++?

Как сделать древовидную структуру данных в C++, которая использует итераторы вместо указателей? Я не смог найти ничего в STL, что могло бы сделать это. Что я хотел бы сделать, так это иметь возможность создавать и манипулировать деревьями, как это:

#include <iostream>
#include <tree>
using namespace std;

int main()
{
    tree<int> myTree;

    tree<int>::iterator i = myTree.root();
    *i = 42;

    tree<int>::iterator j = i.add_child();
    *j = 777;
    j = j.parent();

    if (i == myTree.root() && i == j) cout << "i and j are both pointing to the root\n";

    return 0;
}

Спасибо, tree.hh-это как раз то, что я искал.

Если это делается для получения выгоды от структура данных, содержащая произвольные типы индексов, оптимизированные для поиска и хорошо на вставке тогда считайте используя карту.

Карта-это ассоциативный контейнер, который имеет гарантии производительности идентичные к тем из дерева: логарифмические поиск, логарифмическая вставка, логарифмическое удаление, линейное пространство. Внутри страны они часто реализуются как красно-черные деревья, хотя это и так не гарантия. Тем не менее, как пользователь STL все, о чем вы должны заботиться, это гарантии производительности STL алгоритмы и структуры данных. Реализуются ли они в виде деревьев или маленькие зеленые человечки не должны иметь значения для тебя.

Я не уверен, что карта - это то, что мне нужно, но спасибо за информацию. Я буду помнить, чтобы использовать карты, когда это возможно, вместо реализации деревьев.

c++   tree   iterator    

414   2   21:34, 20th August, 2020


Красно-Черные Деревья

Я видел бинарные деревья и бинарный поиск, упомянутые в нескольких книгах, которые я читал в последнее время, но поскольку я все еще в начале моих исследований в области компьютерных наук, я еще не прошел курс, который действительно имел дело с алгоритмами и структурами данных серьезным образом.

Я проверил все типичные Источники (Википедия, Google), и большинство описаний полезности и реализации (в частности) красно-черных деревьев оказались настолько плотными и трудными для понимания. Я уверен, что для кого-то с необходимым фоном это имеет идеальный смысл, но в данный момент он читается почти как иностранный язык.

Итак, что же делает бинарные деревья полезными в некоторых общих задачах, которые вы делаете во время программирования? Кроме того, какие деревья вы предпочитаете использовать (пожалуйста, включите пример реализации) и почему?

algorithm   binary-tree   red-black-tree    

668   12   19:47, 19th August, 2020


Что такое "best" способ хранения международных адресов в базе данных?

Каков "лучший" способ хранения международных адресов в базе данных? Ответьте в виде схемы и объясните причины, по которым вы решили нормализовать (или нет) свой путь. Также объясните, почему вы выбрали тип и длину каждого поля.

Примечание: Вы сами решаете, какие поля вы считаете необходимыми.

database   internationalization   globalization   street-address    

449   6   16:35, 22nd August, 2020


Сломался аккаунт главного администратора на Livestreet CMS

Вчера поставил последний LiveStreet
Плагины:
aceAdminPanel
aceBlockManager
LsBlocks
NiceURL
Static page
Social
Подкрутил немножко шаблон. Вроде все работало.
Пошел спать, сегодня утром обнаруживаю что не могу оставлять комментарии из под аккаунта главного администратора.
При нажатии на кнопку отправить, ничего не происходит.
Я назначал еще одного пользователя администратором через sql запрос, он тоже теперь не может писать комментарии.
Исключил его из администраторов с помощью aceAdminPanel и он снова может оставлять комментарии.
Снова добавил, на этот раз через панель — снова не может писать комментарии
У других пользователей все нормально.
Никто не сталкивался?
Что можно предпринять?

LiveStreet    

338   2   14:18, 8th August, 2020


Javascript tree?

В общем, я работаю в составе команды над одним больший проектом на базе php и jquery. Так как разработка ведется в экстриме, в некоторых местах используются разные плагины для прорисовки дерева и нет единного апи для таких вещей. В связи с чем ищу один плагин, который бы помог все это дело унифицировать.

Требования:

Драг и дроп (использование ctrl, события)

Апи со стороны javascript для вызова перерисовки части дерева, добавления, изменения элемента

Встроенное контекстное меню и апи для него


На данный момент я склюняюсь вот к этой вещи www.jstree.com/demo

Если вы знаете варианты получше, или даже у вас припрятан silver bullet, вы мне очень поможете

jQuery   jsTree    

305   2   23:44, 20th August, 2020


Минусы LiveStreet CMS

Интересуют минусы этого движка, очевидные и не очень.

Другими словами, есть ли причины и какие для масового ресурса с множеством пользователей не строить его на LiveStreet?

Буду признателен за ответы, особенно в таком формате:

недостатокуровень критичности числом от 1 до 100, где 100 — самый высокий уровень критичности.

Спасибо всем заранее!

LiveStreet   Фреймворки    

352   5   21:06, 1st October, 2020


Движок для картографического сервиса?

Хочу сделать один интересный картографический проект (вроде openstreetmaps, но про другое). Хочу узнать, есть ли готовые картографические движки (то есть с Google/Yandex Maps). Требования минимальные:


1. Регистрация пользователей (в идеале с openid и facebook).


2. Пользователи должны иметь право отмечать на карте объекты (желательно дома, но можно просто точки), к объектам привязывать несколько полей с текстовыми данными для сохранения в БД.


3. Минимальный стандартный дизайн, достаточно, чтобы не был отталкивающим.


Фактически, этого достаточно, остальное легко допилить самому. Есть подобные движки? Заранее спасибо.

OpenStreetMap   Картография   Фреймворки    

393   5   02:34, 1st October, 2020