Цитата Drongo:
pva, Я правильно понял вашу идею? »
|
Не совсем
![Smile](images/smilies/new/smile.gif)
Всё гораздо хитрее. Допустим у каждой темы есть ключевые слова, например:
"Напишите мне лабу на С++": C++, Borland, Учебные задачи
"Напишите мне лабу на паскале": Delphi, Borland, Учебные задачи
"Как эмулировать Com-порт": WinApi, C++
"Найдите глюк в коде": C++, Ищем глюки в коде
// Начинаем поиск:
выберите подкатегорию:
C++
Delphi
WinApi
Borland
Учебные задачи
Ищем глюки в коде
// я - новичок, вижу знакомое слово c++, выбираю его
выберите подкатегорию:
WinApi
Borland
Учебные задачи
Ищем глюки в коде
// теперь мне уже проще определиться, скорее всего тыкну в Учебные задачи
выберите подкатегорию:
Borland
вот в этом духе. То есть используется структура не дерева, а что-то вроде таблицы. Между ключевыми словами (котоые можно обозначить вершинами графа) существуют связи с именами (названия тем). Нужно просто последовательно выбрать несколько вершин и "соединить" их темой. Главное отличие от дерева: в одну и ту же тему можно попасть разными путями. Вот ещё похожий пример:
http://forum.oszone.net/thread-124568.html (тут используется не табличное хранилище, поэтому не так наглядно). Ключевые слова можно давать пополнять уже ветеранам например...
Для удобства поиска можно ключевые слова систематизировать в дерево:
Выберите язык программирования/c++
Выберите язык программирования/делфи
Выберите язык программирования/js
Помогите новичку/с чего начать
Помогите новичку/какие книги почитать
Помогите новичку/решите мне лабу
или в те же графы:
"Выберите язык программирования" : c++, делфи, js, vbs, макросы, машинный код
"Помогите новичку": с чего начать, какие книги почитать, решите мне лабу
"с чего начать": Выберите язык программирования, какие книги почитать
"макросы": js, vbs
"машинный код": c++, делфи
причём узлы:
"Выберите язык программирования", "Помогите новичку", "с чего начать" - не являются ключевыми словами, то есть нет тем, содержищих в списке ключевых слов например "Выберите язык программирования" и "С++", а есть только "С++" (это для экономии базы даных)
Я заинтересован в развитии идеи, у меня на неё уже куча проектов замкнулось, поэтому если в какой моральной помощи или совсместном обмозговывании не откажу. Есть ася.