Информатика

Q & A для студентов, исследователей и практиков информатики

1
В чем разница между алгоритмом, языком и проблемой?
Похоже, что на этом сайте люди часто исправляют других за запутанные «алгоритмы» и «проблемы». В чем разница между этими? Как я узнаю, когда мне следует рассмотреть алгоритмы и рассмотреть проблемы? И как они связаны с понятием языка в теории формального языка?

4
Каковы общие методы уменьшения проблем друг с другом?
В теории вычислимости и сложности (и, возможно, в других областях) сокращения являются повсеместными. Существует много видов, но принцип остается тем же: показать, что одна проблема L1L1L_1 , по крайней мере, так же трудна, как и другая проблема L2L2L_2 путем сопоставления экземпляров из с эквивалентными по решению в . По сути, …

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

2
Как работает псевдокод Тарьяна (объяснил кто-то знакомый с C или Java)?
Короткая история Известный компьютерный ученый Тарьян написал книгу несколько лет назад. Он содержит абсолютно странный псевдокод. Кто-нибудь, пожалуйста, объясните это? Длинная история Тарьян известен многими достижениями, в том числе тем, что он был соавтором кустарников . Он опубликовал книгу " Структуры данных и сетевые алгоритмы » в 1980-х годах. Весь …

9
Является ли C на самом деле полным по Тьюрингу?
Я пытался объяснить кому-то, что C завершена по Тьюрингу, и понял, что на самом деле не знаю, действительно ли он технически завершен по Тьюрингу. (C как в абстрактной семантике, а не как в реальной реализации.) «Очевидный» ответ (грубо говоря: он может адресовать произвольный объем памяти, поэтому он может эмулировать машину …

13
Что я должен делать с группой 16-17 лет, чтобы заинтересовать их информатикой?
Через несколько недель я собираюсь провести своего рода «день открытых дверей» в моем университете. В течение этого времени мне (вместе с коллегой) дают по два часа целую группу учеников старших классов, а также компьютерную лабораторию, достаточно большую, чтобы вместить их всех, и я должен сделать какое-то деятельность или набор действий …
40 education 

7
Объясняя актуальность асимптотической сложности алгоритмов для практики проектирования алгоритмов
В алгоритмах и сложности мы фокусируемся на асимптотической сложности алгоритмов, то есть количестве ресурсов, которые алгоритм использует, поскольку размер входных данных уходит в бесконечность. На практике необходим алгоритм, который бы работал быстро на конечном (хотя, возможно, очень большом) количестве экземпляров. Алгоритм, который хорошо работает на практике на конечном количестве интересующих …


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

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

3
Почему Mersenne Twister считается хорошим?
Mersenne Twister считается хорошим. Черт, источник CPython говорит, что он «является одним из наиболее тщательно протестированных генераторов из существующих». Но что это значит? Когда меня просят перечислить свойства этого генератора, большинство из того, что я могу предложить, плохо: Он массивный и негибкий (например, без поиска или нескольких потоков), Он не …

9
Понимание сериализации
Я инженер-программист, и после обсуждения с некоторыми коллегами я понял, что не очень разбираюсь в сериализации концепции. Как я понимаю, сериализация - это процесс преобразования некоторого объекта, такого как объект в ООП, в последовательность байтов, так что указанный объект может быть сохранен или передан для последующего доступа (процесс «десериализации»). Проблема, …
38 storage 

5
Что именно (и точно) является «хешем»?
Я слышал, что слово «хэш» используется в разных контекстах (все в мире вычислений) с разными значениями. Например, в книге «Изучите Python трудный путь» в главе о словарях говорится, что «Python называет их» диктами. «В других языках они называются хешами». «Итак, словари хешей являются? Другое распространенное использование этого слова связано с …

2
Сборщики мусора поколений по своей природе дружественны кешу?
Типичный сборщик мусора поколений хранит недавно выделенные данные в отдельной области памяти. В типичных программах многие данные недолговечны, поэтому частый сбор молодого мусора (небольшой цикл GC) и нечастый сбор старого мусора - хороший компромисс между затратами памяти и временем, затрачиваемым на сборку мусора. Интуитивно понятно, что преимущество сборщика мусора поколений …

5
Существует ли известный максимум того, сколько строк 0 и 1 могут быть сжаты?
Давным-давно я читал газетную статью, в которой какой-то профессор сказал, что в будущем мы сможем сжать данные до двух бит (или что-то в этом роде). Это, конечно, не правильно (и, возможно, моя память о том, что он точно сказал, не верна). Понятно, что было бы нецелесообразно сжимать какую-либо строку из …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.