Абстрактный тип данных — Википедия

Абстра́ктный тип да́нных(АТД) — это математическая модель для типов данных, где тип данных определяется поведением (семантикой) с точки зрения пользователя данных, а именно в терминах возможных значений, возможных операций над данными этого типа и поведения этих операций.

Формально АТД может быть определен как множество объектов, определяемое списком компонентов (операций, применимых к этим объектам, и их свойств). Вся внутренняя структура такого типа спрятана от разработчика программного обеспечения — в этом и заключается суть абстракции. Абстрактный тип данных определяет набор функций, независимых от конкретной реализации типа, для оперирования его значениями. Конкретные реализации АТД называются структурами данных.

В программировании абстрактные типы данных обычно представляются в виде интерфейсов, которые скрывают соответствующие реализации типов. Программисты работают с абстрактными типами данных исключительно через их интерфейсы, поскольку реализация может в будущем измениться. Такой подход соответствует принципу инкапсуляции в объектно-ориентированном программировании. Сильной стороной этой методики является именно сокрытие реализации. Раз вовне опубликован только интерфейс, то пока структура данных поддерживает этот интерфейс, все программы, работающие с заданной структурой абстрактным типом данных, будут продолжать работать.

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

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

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

Абстрактные типы данных позволяют достичь модульности программных продуктов и иметь несколько альтернативных взаимозаменяемых реализаций отдельного модуля.

Примеры АТД[править | править код]

См. также[править | править код]

Ссылки[править | править код]

Абстрактная концепция «я». Практика осознания отсутствия.

Есть ли конкретное восприятие, которое ты можешь назвать словом «я»? Эмоции, мысли, ощущения, желания приписываются какому-то «я», восприятия которого нет, как нет и восприятия «принадлежности» желания или мысли кому-то. Точное описание этой ситуации таково: среди всей совокупности восприятий есть еще и мысли, включающие в себя слово «я», не обозначающее ничего конкретного, то есть эти мысли являются концепциями. Уйдем от этой неопределенности и определим это слово. «Я» — это обозначение совокупности всех известных нам 5 видов восприятий, которые никак друг через друга не определяются и друг к другу не сводятся. Определить эти виды восприятий невозможно, поскольку «определить» — это свести к чему-то другому, а это в данном случае невозможно (например, слепому от рождения не понять – что такое «видеть», как ни пытайся объяснять). Поэтому их можно только перечислить. Ничто больше, кроме этих 5 видов восприятий, не входит в состав «я»: ощущения, эмоции, мысли, желания, различение.

Физические ощущения (далее – просто «ощущения») – это все виды восприятий, объединенных нами в понятие «физического тела». Идея «физического тела» является концепцией, поскольку если мы остаемся в рамках искреннего свидетельства о своих восприятиях, то все, что мы можем сказать — это то, что есть несколько видов восприятий, объединенных нашим рассудком понятием «физическое тело» — зрительные, слуховые, вкусовые, тактильные, сексуальные и прочие. Видеть «тело» – значит иметь определенные зрительные ощущения. Трогать «тело» – значит иметь определенные тактильные ощущения. Но совершенно так же, как мы объединяем ощущения термином «физическое тело», все эмоции мы можем объединить термином «эмоциональное тело», а мысли – «ментальное тело». По привычке мы этого не делаем, и отсюда возникает ошибочное противопоставление ощущений эмоциям и мыслям, в результате чего «тело» считается чем-то реальным, главным атрибутом «я», а эмоции, мысли и желания – чем-то малореальным, второстепенным атрибутом «я». После восприятия «снимаю платьице» часто следует восприятие «вижу грудки» — это является основанием для того, чтобы считать, что «грудки», это часть «физического тела». Но иногда эти восприятия не следуют друг за другом – например, может последовать восприятие «вижу лифчик», но это ничего не меняет, поскольку рассудок укладывает все это в непротиворечивую схему. И точно так же после восприятия «слышу слово «идиот»» часто следует восприятие «эмоция возмущения», а иногда оно не возникает, если есть восприятие мысли о том, что «я и в самом деле идиот». Я хочу показать, что нет никаких разумных оснований для того, чтобы набор ощущений называть «телом ощущений», а набор эмоций не называть «телом эмоций» — это просто вопрос привычки.

Различающее сознание – почти неуловимое восприятие для тех, кто испытывает НЭ и не испытывает ОзВ, поэтому в практической работе по освобождению от НЭ, концепций, механических желаний, и достижению ОзВ мы оставляем его без внимания и будем пока говорить лишь о четырех видах восприятий.

Теперь рассмотрим для примера совокупность деревьев и прочих растений, из которых состоит лес.

Каждому обычному человеку ясно, что он не воспринимает никакого леса как чего-то самобытно существующего помимо всего того, из чего он состоит. Лес — это только наименование. Так и "я" — это только наименование леса, состоящего из 5 видов "растений". Это утверждение – путь к свободе. Всю жизнь ты думала, что есть какое-то глубинное "я", какие-то тайники "я", надсознание, подсознание и прочие дремучести, проникнуть куда почти невозможно. Ты думала, что все это исключительно сложно, непостижимо, запутано, что путь к свободе может быть найден лишь гениальным, чудовищно развитым «духовно» человеком. И вдруг оказывается, что "я" — это всего лишь 4 вида восприятий, и все! Некому быть омраченным – просто есть омрачения. Некому стремиться к ОзВ – просто есть радостное желание испытывать ОзВ. «Никто» не тупой – просто есть восприятие тупости, которое может быть устранено, если возникнет желание его устранить. Некому быть связанным, некого освобождать. Это все равно, что сказать узнику, воображавшему бесконечные ряды стен и камер: есть стена впереди, позади, слева и справа, снизу и сверху от тебя — но это все! Над потолком нет «надсознательной» стены, и когда ты пробьешь пол — под ним не будет «подсознательной» стены – там свобода, там необозримый мир озаренных восприятий. Представляете — сколько радости, уверенности и решимости вселит в узника эта новость? Ты — узник, и я сообщаю тебе эту радостную новость: я пробил эту стену и обнаружил там свободу, и пишу эту простую инструкцию, которой сможет воспользоваться любой желающий. Наслаждайся этой новостью, осмысливай ее, ласкай ее и понимай: свобода — совсем рядом, и ты можешь взять ее голыми руками, если возьмешься за дело с упорством, внимательностью, решимостью и предвосхищением.

В исследовании концепции «я» применимы методы, описанные выше, но в дополнение к ним я предлагаю еще один — практику «осознания отсутствия». Эта практика с эффективностью может применяться к рассеиванию концепций, обладающих тем же свойством, каким обладает и концепция «я». Представь себе, что у меня есть концепция непреодолимой силы, состоящая в том, что якобы в моем доме живет бегемот. Внимательнейшим образом присматриваясь, прислушиваясь, принюхиваясь, я рано или поздно прихожу к выводу, что бегемота, кажется, все-таки нет, во всяком случае мне не удается обнаружить никаких свидетельств его существования, поэтому до тех пор, пока эти свидетельства не появится, я буду жить так, как будто его тут нет. Это очень просто, но по какой-то причине мы все упорно верим в то, что среди восприятий есть какой-то зверь – «я».

Вообще моя практика очень проста.

Не требуется делать непонятно что ради призрачных будущих «благ», верить в то, что непонятные тебе сейчас «блага» придут, если ты отказываешься от того, чего тебе сейчас хочется. Путь искренности – иной: если ты увидела, что что-то является иллюзией, то обратного пути нет, вернуться назад в слепую веру невозможно. Результаты совершенных усилий видны немедленно, и ты наслаждаешься ими прямо сейчас: если прямо сейчас ты устранила НЭ, то сейчас же испытала всплеск ОзВ. На прямом пути нет последователей и нет лидеров. Каждый следует своим радостным желаниям, и когда возникает озаренное восприятие, ты чувствуешь себя первооткрывателем и являешься им.

Чтобы сделать постоянным осознание того, что слово «я» является лишь обозначением всех восприятий, необходимы постоянные усилия — не меньшие, чем усилия тотального ежесекундного контроля над устранением НЭ. Необходимо переломить привычку додумывать какого-то самобытно-существующего зверя. Для меня легче всего это было делать, перебирая имеющиеся восприятия — это есть, и это есть, и это вот есть, ничего другого не воспринимается.

Одно из препятствий к достижению осознания отсутствия состоит в том, что слово «я» крайне прочно вошло в наш язык. В течении дня мы используем его сотни раз, тем самым поддерживая связанные с ним концепции. Поэтому очень эффективно отказаться от использования слов "я", "ты", "она", используя их лишь в общении с теми, в чьей предсказуемой реакции ты заинтересована (на работе, например). Мне нравится вместо слово "я" использовать "это место", а вместо "я хочу" можно сказать "есть желание", вместо "я думаю" — "есть мысль".

Аналогична практика осознания отсутствия «ты», «она» — отдаешь себе отчет в том, что восприятия «вид попки», «звук голоса», «вкус сосочков», «прикосновение язычка к письке», симпатия, нежность и прочие — есть, а восприятия «она» — нет.

В результате такой ясности возникает необычное восприятие. Может возникнуть механическая интерпретация его как «одиночество», но это не одиночество, так как «одиночество» — это когда есть «я» и есть недостижимые «ты», есть НЭ по этому поводу. Но это новое восприятие резонирует со словом «беспредельность», «открытость». Ты испытываешь пронизывающую и радостную до слез свободу от вечного страха одиночества, который оказался просто мыльным пузырем. Ты обнаруживаешь, что вся твоя жизнь, цели и ценности были построены на вере в «зрителя», «другого». Люди играют бессмысленный, бесконечный спектакль от рождения до смерти. Теперь эта химера лопнула, и что же? Перед тобой, словно игривые тигрята, — радостные желания, влекущие к озаренным восприятиям не «для кого-то» и не «потому что», а в силу самого наличия неудержимого стремления. Всю жизнь ты играла сама с собой в шахматы: вообразила соперника, выигрывала, проигрывала, испытывала досаду или довольство, раздражение или подобострастие. А теперь вдруг подняла глаза… никого нет! Есть выбор – либо гниение омрачений, либо путешествие по бескрайнему, поразительному миру озаренных восприятий. Третьего не дано.

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

В разных ситуациях это дается с разным трудом. Одно дело осознавать это, сидя на диване, и другое дело — когда разговариваешь, когда есть восприятие гневных криков или нежных объятий. Возникают ложные интерпретации, например «если никого нет, зачем испытывать нежность»? Вопрос не имеет смысла, так как само слово «зачем» подразумевает существование некоего субъекта, принимающего решение, а также подразумевается, что нет желания испытывать нежность. Но все очень просто – есть радостное желание испытывать нежность, есть наслаждение от нежности, если желание усиливать это восприятие, есть желание усиливать желание испытывать нежность, и сила этих желаний перевешивает силу желаний оставить все как есть, вернуться в мрак НЭ и тупости.

Невозможно рассчитать, в каких условиях легче добиться закрепления этой ясности – сидя в пещерном уединении, или наоборот – кружась в водовороте толпы. Это зависит не от условий, а от того – следуешь ли ты радостным желаниям.

Иллюзией «я» ты обманываешь себя двояко — с одной стороны веря в то, что в тебе и другом человеке «я» есть, с другой стороны веря в то, что в камне, дереве, растении его нет, что, конечно же, ложно, поскольку нет такого восприятия, как «нет я», не говоря уж о том, что не определено – об отсутствии чего идет речь. Если какое-то слово не обозначает никакой конкретной совокупности восприятий, мы вообще не можем ничего сказать об этом – ни что «оно» есть, ни что «его» нет.

Эмоция, мысль, ощущение – есть, а восприятия «нет я» — нет. Это несложно понять. Таким образом, еще один аспект практики достижения ясности отсутствия восприятия «я» состоит в том, что ты отдаешь себе отчет в том, что восприятия «нет я» тоже не существует. Естественным развитием этой практики является практика «не-река, не-горы», которая описана в главе об озаренном различающем сознании.

Последовательно применяя этот подход, можно добиться ясности в отношении абстрактных концепций, построенных на механическом различении. Мы смотрим на камень, лежащий в море, и делаем вывод, что камень — это одно, а море — это другое. Вывод основан на том, что видна граница между морем и камнем, и что эта граница есть и сегодня, и завтра, и через год. А если посмотреть на слабый туман, то труднее будет сказать, что туман — это одно, а воздух — это другое, потому что туман неуловимо рассеивается в воздухе. Между тем прекрасно известно, что и камень через миллион лет растворится в океане, стало быть наш вывод весьма условен. Как могло бы судить о мире существо, которое жило бы один день? Оно могло бы создать такие представления о мире, которые нам показались бы совершенно абсурдными.

Взглянем с другой стороны на этот вопрос: мы делаем вывод о существовании двух разных объектов потому, что между ними есть ясная граница. Но между глазом и веком тоже есть граница не менее явная, чем между камнем и водой в море — является ли это основанием для того, чтобы считать человека чем-то, состоящим из нескольких разных объектов? Формально это можно сделать, и мы так и делаем в предметной деятельности, но при этом помним, что человек — это не просто совокупность нескольких объектов, а сложнейший организм, нечто единое. Так почему же мы тогда называем камень и море двумя разными объектами? По привычке. В этом примере явно виден двойной стандарт концептуального мышления.

 

 


Дата добавления: 2015-08-05; просмотров: 18; Нарушение авторских прав


Абстра́ктный тип да́нных(АТД) — это математическая модель для типов данных, где тип данных определяется поведением (семантикой) с точки зрения пользователя данных, а именно в терминах возможных значений, возможных операций над данными этого типа и поведения этих операций.

Формально АТД может быть определен как множество объектов, определяемое списком компонентов (операций, применимых к этим объектам, и их свойств). Вся внутренняя структура такого типа спрятана от разработчика программного обеспечения — в этом и заключается суть абстракции. Абстрактный тип данных определяет набор функций, независимых от конкретной реализации типа, для оперирования его значениями. Конкретные реализации АТД называются структурами данных.

В программировании абстрактные типы данных обычно представляются в виде интерфейсов, которые скрывают соответствующие реализации типов. Программисты работают с абстрактными типами данных исключительно через их интерфейсы, поскольку реализация может в будущем измениться. Такой подход соответствует принципу инкапсуляции в объектно-ориентированном программировании. Сильной стороной этой методики является именно сокрытие реализации. Раз вовне опубликован только интерфейс, то пока структура данных поддерживает этот интерфейс, все программы, работающие с заданной структурой абстрактным типом данных, будут продолжать работать.

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

Различие между абстрактными типами данных и структурами данных, которые реализуют абстрактные типы, можно пояснить на следующем примере. Абстрактный тип данных список может быть реализован при помощи массива или линейного списка, с использованием различных методов динамического выделения памяти. Однако каждая реализация определяет один и тот же набор функций, который должен работать одинаково (по результату, а не по скорости) для всех реализаций.

Абстрактные типы данных позволяют достичь модульности программных продуктов и иметь несколько альтернативных взаимозаменяемых реализаций отдельного модуля.

Примеры АТД

См. также

Ссылки

Добавить комментарий

Закрыть меню