Алгоритмы → Кучи. Часть 1. Биномиальная куча из песочницы
Здравствуйте, Хабросообщество!
На хабре есть описание множества интересных структур данных, таких как деревья отрезков, дуча и т.п. Если Вам интересны сложные структуры данных, то добро пожаловать под кат!
На хабре есть описание множества интересных структур данных, таких как деревья отрезков, дуча и т.п. Если Вам интересны сложные структуры данных, то добро пожаловать под кат!
Haskell → IO работает с кучей Хаскеля
Начало серии Куча Хаскеля
В этой статье мы сосредоточимся на вас. Вы всё крутитесь около кучи Хаскеля и норовите открыть подарок. В конце концов, подарки сами по себе не открываются.
В этой статье мы сосредоточимся на вас. Вы всё крутитесь около кучи Хаскеля и норовите открыть подарок. В конце концов, подарки сами по себе не открываются.
Haskell → Вычисление в куче Хаскеля
Начало серии Куча Хаскеля

Дух новогодних подарков
Сегодня в статье мы кратко рассмотрим, что происходит, когда вы в куче Хаскеля открываете подарок с духом внутри. Почти во всём, что есть в куче, кроме констант и того, что уже вычислено, сидит дух. Весь вопрос в том, что станет делать дух в подарке.

Дух новогодних подарков
Сегодня в статье мы кратко рассмотрим, что происходит, когда вы в куче Хаскеля открываете подарок с духом внутри. Почти во всём, что есть в куче, кроме констант и того, что уже вычислено, сидит дух. Весь вопрос в том, что станет делать дух в подарке.
Haskell → Куча Хаскеля

Куча Хаскеля — довольно странное место. Она не похожа на кучу в традиционном языке со строгими вычислениями...

… которая представляет из себя кучу мусора из старых добрых простых данных!
JAVA → Integer и int
В этом топике я хочу описать некоторые базовые различия между примитивными типами и соответствующими им объектными на примере int и Integer. Различия эти достаточно простые и, если немного задуматься, то вполне логичные, но, как показал опыт, программист не всегда над этим задумывается.
Основное различие, разумеется, в том, что Integer — это полнофункциональный объект, который занимает место в куче, а в коде вы пользуетесь ссылками на него, которые неявно преобразуются в значения:
Основное различие, разумеется, в том, что Integer — это полнофункциональный объект, который занимает место в куче, а в коде вы пользуетесь ссылками на него, которые неявно преобразуются в значения:
int a = 1000; // a - число
Integer b = 1000; // b - ссылка на объектПри присваивании значения переменной типа Integer обычно выделяется память в куче под новый объект, как будто вы написали new Integer(1000) (так называемый autoboxing). Однако иногда переиспользуются старые объекты. Это иллюстрирует следующий код (JDK 1.6):Integer a1 = 50;
Integer a2 = 50;
Integer b1 = 500;
Integer b2 = 500;
System.out.println(a1==a2);
System.out.println(b1==b2);Результатом выполнения будет:true
false
Персональные блоги → Организация рабочего стола методом кучи
Уже так много статей на тему: Как организовать свой рабочий стол... Я решил написать свой топик по теме. В основном все статьи сводятя к нескольким советам: убраться, разложить всё по полочкам... Но ведь это не удобно! Гораздо лучше, когда всё есть под рукой, но если просто сложить всё в одну большую кучу, будет не очень удобно, поэтому я решил написать несколько советов про упорядовачиние предметов на столе методом кучи.
Когда я обозревал свой стол я увидел один большой беспорядок.
1. Расчистить маленький клочёк стола прямо напротив себя, чтобы можно было писать или поставить чашку с кофе. Для этого положите две руки на край стола и двигайте отсебя и в стороны.
2. Раскопайте в своей куче первый попавшийся блокнотик, первую попавшуюся ручку и первую попавшуюся чашку. В последствии если случайно обнаружите лишний блокнот, ручку или чашку, лучше это сразу куда-нибудь убрать. Это способствует уменьшению кучи.
Лучше как-нибудь прикрепить ручку к блокноту, чтобы в нужный момент её не потерять. Также советую приспособить ненужную болванку под кружку с кофе, это нужно чтобы не потерять чашку на столе.
3. В оставшейся куче надо найти все нужные бумаги и сложить их в стопку на... вот здесь нужна импровизация.
Теперь несколько слов о том, как всё это содержать.
1. Когда вы ищете что нибудь в куче, после использования лучше положить либо с краю, либо с верху кучи.
2. Кучу лучше разделить на две или три для удобства.
3. Пульты и отвёртки в куче лучше не хранить.
4. Часто используемые диски лучше сразу складывать на системный блок.
P.S. Этот шуточный мануал врядли кому-нибудь поможет, но если это произойдёт я буду только рад. Если вы готовы помочь общему делу, пишите в комментариях поправки и свои советы.
_________
Текст подготовлен в ХабраРедакторе
Когда я обозревал свой стол я увидел один большой беспорядок.
1. Расчистить маленький клочёк стола прямо напротив себя, чтобы можно было писать или поставить чашку с кофе. Для этого положите две руки на край стола и двигайте отсебя и в стороны.
2. Раскопайте в своей куче первый попавшийся блокнотик, первую попавшуюся ручку и первую попавшуюся чашку. В последствии если случайно обнаружите лишний блокнот, ручку или чашку, лучше это сразу куда-нибудь убрать. Это способствует уменьшению кучи.
Лучше как-нибудь прикрепить ручку к блокноту, чтобы в нужный момент её не потерять. Также советую приспособить ненужную болванку под кружку с кофе, это нужно чтобы не потерять чашку на столе.
3. В оставшейся куче надо найти все нужные бумаги и сложить их в стопку на... вот здесь нужна импровизация.
Теперь несколько слов о том, как всё это содержать.
1. Когда вы ищете что нибудь в куче, после использования лучше положить либо с краю, либо с верху кучи.
2. Кучу лучше разделить на две или три для удобства.
3. Пульты и отвёртки в куче лучше не хранить.
4. Часто используемые диски лучше сразу складывать на системный блок.
P.S. Этот шуточный мануал врядли кому-нибудь поможет, но если это произойдёт я буду только рад. Если вы готовы помочь общему делу, пишите в комментариях поправки и свои советы.
_________
Текст подготовлен в ХабраРедакторе