Куча и ее множественные трактовки

195
01 июля 2018, 00:20

Хочу познать суть) в общем есть куча. В си это динамическая область памяти, где аллоцируются объекты через new (говорю о ++). В js это место где выделяется память под переменые типа Объект.

Так вот. Один уважаемый лектор сказал что в js объекты хранятся в куче и это такая специальная структура данных посредством которой реализована память. Я думаю, этого не может быть, потому что для кучи нужно как минимум организовать операцию сравнения на всем пространстве одинаковых типов. Я быстро лезу в Википедию и получаю ответ что куча это структура данных посредством которой реализована динамическая область памяти.

Т.е. налицо отождествление понятий как куча динамическая память и куча как классическая структура данных. Где я ошибаюсь?

Answer 1

Я не вижу тут отождествления, хотя формулировки мне кажутся корявыми.

В информатике у слова "куча", судя по Википедии, два значения:

Первое значение - структура данных куча.

В компьютерных науках ку́ча — это специализированная структура данных типа дерево, которая удовлетворяет свойству кучи ... блаблабла

Т.е. значение 1 - вполне конкретная структура данных.

Второе значение - куча как хранилище памяти.

Ку́ча (англ. heap) в информатике и программировании — название структуры данных, с помощью которой реализована динамически распределяемая память приложения.

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

Т.е. значение 2 - любая структура данных, через которую организовано динамическое выделение памяти.

READ ALSO
Вывести результат функции в окне вывода по щелчку кнопки

Вывести результат функции в окне вывода по щелчку кнопки

Помогите, пожалуйста, вывести результат js-функции (sum) в окне вывода по щелчку кнопки

185
Как переписать этот код на чистый JS?

Как переписать этот код на чистый JS?

Может вот это ? Кликните на зеленый блок чтобы подвинуть его

197
вывод значения в LOG из массива Event

вывод значения в LOG из массива Event

Уточните как в JS вывести в лог не весь массив от события а определенную переменную:

180
ES6 модули в Gulp

ES6 модули в Gulp

Всем привет! У меня есть стартовый шаблон для верстки на gulpДля транспиляции в ES6 использую gulp-babel, но ES6 модули(import, export) не работают

169