![]() |
|
Модераторы: Aliance, skyboy, MoLeX, ksnk |
![]()
|
|
| Pitlord |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 31.10.2009 Репутация: нет Всего: 7 |
||||
|
||||
| Simpliest |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 625 Регистрация: 1.9.2009 Репутация: нет Всего: 3 |
В моем понимании ты не умеешь читать. Вот тебе был ответ.
Так доступно? Или разжевать, как школьнику? |
||||||
|
|||||||
| Pitlord |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 31.10.2009 Репутация: нет Всего: 7 |
||||
|
||||
| motorway |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 578 Регистрация: 2.3.2008 Репутация: нет Всего: 0 |
Я могу дать код, который у меня. Пока что не оч. понял, как предлагается сделать. Ну допустим, что мы взяли первую строку исходного файла - там основное слово перед чертой, которое мы должны искать - "a". И нужно определить, есть ли оно во всех строках других, если есть, то объединить их по тому принципу сверху. Куда мы денемся от этого перебора всех строк в двойном цикле?
-------------------- Russian Pascal Developer Network - Сеть разработчиков на языке программирования Pascal/Object Pascal Форум Delphi/Kylix, Free Pascal Compiler/Lazarus, PascalABC.NET Онлайн-кинотеатр |
|||
|
||||
| Simpliest |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 625 Регистрация: 1.9.2009 Репутация: нет Всего: 3 |
||||
|
||||
| motorway |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 578 Регистрация: 2.3.2008 Репутация: нет Всего: 0 |
Некоторый набор слов, разделенный запятыми. В них и нужно искать вхождение слова перед |, но после скобки ")". Если оно есть, объединяем этот набор слов с искомым словом. Добавлено через 3 минуты и 9 секунд
Неплохо бы понять, как именно их сортировать. И всю структуру получившегося алгоритма согласно твоему предложению. Лучше увидеть это в виде кода -------------------- Russian Pascal Developer Network - Сеть разработчиков на языке программирования Pascal/Object Pascal Форум Delphi/Kylix, Free Pascal Compiler/Lazarus, PascalABC.NET Онлайн-кинотеатр |
||||
|
|||||
| Pitlord |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 31.10.2009 Репутация: нет Всего: 7 |
||||
|
||||
| Simpliest |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 625 Регистрация: 1.9.2009 Репутация: нет Всего: 3 |
Надцатью различными способами. Захочу - еще до записи всех слов в файл буду сортировать. Захочу - в процессе подготовки файла буду сортировать. Алгоритмы Шелла, Квик, Вставкой, Блочный, а может предпочту встроенные функции PHP sort, usort, array_multisort Тебе это сильно помогло? |
|||
|
||||
| motorway |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 578 Регистрация: 2.3.2008 Репутация: нет Всего: 0 |
Вот я не понимаю, берем первую строку и ищем во всех других, есть ли вхождение нужной подстроки среди элементов через запятую после знака | в других строках.
Нашли что-то, сформировали строку. Переходим к следующей строке исходных данных. И опять перебираем все строки на наличие второго элемента (некоторые из них могли исчезнуть, но объем примерно тот же). И вот виден вложенный цикл. Не понимаю, куда он может испариться в принципе. -------------------- Russian Pascal Developer Network - Сеть разработчиков на языке программирования Pascal/Object Pascal Форум Delphi/Kylix, Free Pascal Compiler/Lazarus, PascalABC.NET Онлайн-кинотеатр |
|||
|
||||
| Simpliest |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 625 Регистрация: 1.9.2009 Репутация: нет Всего: 3 |
Бгг... (word1)a|b,c,d (word1)b|e,f,g,a (word2)c|h,a (word2)f|w,a,c ищем букву а. Она есть во всех 4х строках мы ее ищем везде? Или все же как в первом сообщении, только при условии word1? Кода не будет. |
|||
|
||||
| motorway |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 578 Регистрация: 2.3.2008 Репутация: нет Всего: 0 |
только если word1. Но далее мы берем вторую строку, там уже будет b - и опять начинаем искать среди всех строк.
Это сообщение отредактировал(а) motorway - 6.12.2009, 22:26 -------------------- Russian Pascal Developer Network - Сеть разработчиков на языке программирования Pascal/Object Pascal Форум Delphi/Kylix, Free Pascal Compiler/Lazarus, PascalABC.NET Онлайн-кинотеатр |
|||
|
||||
| Simpliest |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 625 Регистрация: 1.9.2009 Репутация: нет Всего: 3 |
Парень, если ты бегаешь по всему миллиону слов, то у тебя алгоритм сложности O(n^2) и сортировка до одного места. Если все же алгоритм зависит от слова word1/word2 etc. То чем больше у тебя разных слов вида word1/word2, тем ближе алгоритм к С*O(n) Где C у тебя отношение числа слов к числу уникальных слов. |
|||
|
||||
| motorway |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 578 Регистрация: 2.3.2008 Репутация: нет Всего: 0 |
Ну вот я и говорю, куда же денется эта самая сложность? На самом деле, слов в скобках типа word1, word2 мало очень по сравнению с другими словами a,b,c,d.
Может, даже меньше 10. А этих - тысячи, мильоны. -------------------- Russian Pascal Developer Network - Сеть разработчиков на языке программирования Pascal/Object Pascal Форум Delphi/Kylix, Free Pascal Compiler/Lazarus, PascalABC.NET Онлайн-кинотеатр |
|||
|
||||
| Simpliest |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 625 Регистрация: 1.9.2009 Репутация: нет Всего: 3 |
Не надо нам искать среди всех. А только среди тех кто имеет word1 и находится ниже. (word1)a|b,c,d (word1)b|e,f,g,a Или ты хочешь получить такой результат? (word1)a|b,c,d,e,f,g (word1)b|e,f,g,a,с,d |
|||
|
||||
| motorway |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 578 Регистрация: 2.3.2008 Репутация: нет Всего: 0 |
Т.е. слова word1,word2... в скобках (в начале строки) у многих слов одинаковы
Добавлено @ 22:31 Ну да, но чтобы узнать, имеется ли там word1, нужно все равно проверить каждую строку , пусть и ниже Это сообщение отредактировал(а) motorway - 6.12.2009, 22:31 -------------------- Russian Pascal Developer Network - Сеть разработчиков на языке программирования Pascal/Object Pascal Форум Delphi/Kylix, Free Pascal Compiler/Lazarus, PascalABC.NET Онлайн-кинотеатр |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Тексты | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |