Примеры задач для улучшения знаний о структурах данных - PullRequest
0 голосов
/ 07 августа 2010

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

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

Мне нужны примеры определений проблем (конечно, я могу определиться с ответами, но я не хочу, чтобы кто-нибудь давал здесь код, только определения проблем), которые должны научить их использовать стек, очередь, список, словарь и т. Д.

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

Пожалуйста, примите только .NET 2.0, поэтому обобщенныехорошо, но не Linq и т. д.

1 Ответ

1 голос
/ 08 августа 2010

Вот некоторые из них.

1)

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

Пример: "(()) () ()" заключен в квадратные скобки, но "()) (" - нет.

2)

Представить число каксвязанный список цифр.Приведите алгоритмы, чтобы найти сумму и произведение таких списков.(Это представление может фактически использоваться для представления больших целых чисел).

3)

Пользователь сначала вводит группу различных чисел.Выведите общее количество полученных номеров, а затем сами номера в порядке их получения.Для дополнительного кредита отметьте ошибку, если пользователь вводит один и тот же номер более одного раза.

4)

Пользователь вводит несколько цифр, возможно, дублированных.Выведите количество полученных различных номеров и в обратном порядке, в котором они были получены.

Итак, если пользователь вводит 11 22 22 11 10, вы выводите 3, а затем 10 22 11.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...