Автор24

Информация о работе

Подробнее о работе

Страница работы

Динамические структуры данных

  • 37 страниц
  • 2017 год
  • 392 просмотра
  • 2 покупки
Автор работы

nickolay.rud

Преподаватель IT-дисциплин

600 ₽

Работа будет доступна в твоём личном кабинете после покупки

Гарантия сервиса Автор24

Уникальность не ниже 50%

Фрагменты работ

ВВЕДЕНИЕ 2
ГЛАВА 1 СПЕЦИФИКА СОВРЕМЕННЫХ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ 4
1.1. Анализ современных подходов к программированию 4
1.2. Существующие популярные высокоуровневые языки программирования 7
1.3. Классификация используемых в языках программирования структур данных 11
Выводы по главе 1 14
ГЛАВА 2. ОБЗОР СУЩЕСТВУЮЩИХ ДИНАМИЧЕСКИХ СТРУКТУР ДАННЫХ 15
2.1. Основные термины и специфика динамических структур данных 15
2.2. Особенности динамических структур данных 18
2.2.1. Список 18
2.2.2. Стек и Очередь 19
2.2.3. Бинарное дерево 22
Выводы по главе 2 24
ГЛАВА 3 СПЕЦИФИКА ИСПОЛЬЗОВАНИЯ ДИНАМИЧЕСКИЕ СТРУКТУР ДАННЫХ В СОВРЕМЕННЫХ ЯЗЫКАХ ПРОГРАММИРОВАНИЯ 25
3.1. Особенности списков в языке Python 25
3.2. Организация и обработка списков на примере языка Python 28
Выводы по главе 3 33
ЗАКЛЮЧЕНИЕ 34
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 36

1.1. Анализ современных подходов к программированию
1. Объектно-ориентированный метод разработки современного программного обеспечения.
Объектно-ориентированное программирование (ООП) это современная парадигма программирования, опирающаяся на такие ключевые понятия, как объект и класс, позволяющая организовать гибкую структуру программного кода проекта.
ООП появилась посредством развития идеологии функционально-процедурного программирования, в которой не было четкой связи между данными, процедурами и функциями, их вызов осуществлялся в ручную, а обработка передавалась посредством операторов типа goto [18].
На развитие парадигмы ООП существенное значение оказало концептуальные понятия события и компонента.
Основными понятиями в ООП являются классы и объекты. Класс представляет собой формализованный, в рамках синтаксиса используемого языка программирования в составленном пространстве имен, исходный код абстрактного (неинициализированной при создании) объекта (сущности).
...

1.3. Классификация используемых в языках программирования структур данных

Применяемые в современных языках программирования структуры данных часто разделяют на две универсальные категории (группы). Схематически это разделение показано на рис.2 [5].

Рисунок 2 – Классификация структур типов данных

1. Данные статической структуры, для которых характерным признаком является то, что взаимосвязи элементов и их расположение являются статичными, т.е. постоянными, вне зависимости от проводимых действий или попыток модификации.
2. Данные динамической структуры, для которых основным аспектом является то, что их внутреннее строение формируется по строгому правилу, а взаиморасположение, количество элементов и их взаимосвязи могут быть динамически модифицированы в процессе выполнения программного приложения.
Динамические структуры данных бывают различных типов (рис.3).
...

2.1. Основные термины и специфика динамических структур данных
Структура данных (СД) представляет собой некоторую совокупность поименованных элементов, каждый из которых может иметь разный тип, причем все они расположены последовательно в памяти компьютера. Любая структура включает в себя несколько или только один объект, которые именуются ее элементами (полями).
Динамические СД (ДСД) – это структуры данных, выделяемая память под которые формируется и освобождается динамически, т.е. по необходимости.
Динамический элемент (ДЭ) – это элемент ДСД, для которого характерной особенностью является то, что в конкретный отдельный момент он может отсутствовать или существовать во время исполнения программы в компьютерной памяти.
Динамическое распределение памяти заключается в операционном выделении памяти для каждого элемента именно в тот момент времени, инициируется создание элемента при выполнении программы [5].
...

2.2. Особенности динамических структур данных
2.2.1. Список
Списком – это ДСД, в котором осуществляется связка текущего элемента со следующим за счет использования указателя (рис.5).
Каждый элемент такого списка осуществляет хранение информацию, а также указывает на следующий элемент, идущий за ним следом. В связи с тем, что элемент списка используется для хранения информация и указатель, то структурно он представляет собой запись, в которой одно поле содержит некий объект, а другое содержит указатель на следующую запись. Данная запись называется звеном, а структура из такого рода записей представляет собой цепочку (т.е. список).
Логично предположить, что на самый первый элемент списка существует отдельный указатель, а также заключительный элемент списка не содержит указателя [5].
...

2.2.2. Стек и Очередь
Стек представляет собой тип ДСД, обработка которого осуществляется из одного, директивного конца, который называют вершиной стека. Т.е. стек позволяет осуществлять операции по добавлению в него определенных данных или компонентов и удалению. Принцип его работы - LIFO (Last-In, First-Out), т.е. первым обрабатывается элемент, который поступил последним [7].
Таким образом, можно утверждать, что в стеке операции выполняются всегда именно над последним элементом. При этом стек содержит верхнюю позицию, которая называется top (в нее помещается новый элемент) и нижняя позиция (bottom), обработка которой осуществляется в последнюю очередь.
Как правило, над стеками выполняются следующие операции:
• стартовое формирование (запись в стек первой компоненты);
• добавление новой компоненты;
• выборка или удаление компоненты из стека.
Для инициализации стека и последующей корректной работы с ним нужно иметь две разные переменные, типом которых является указатель.
...

2.2.3. Бинарное дерево
Дерево представляет собой некоторую совокупность узлов, которые называются вершинами, а также соединяющих их направленных ребер, называемых дугами. Особенностью дерева является то, что в каждый узел (кроме корневого узла) ведет как минимум одна дуга.
Корень представляет собой начальный узел, в который не ведет ни одна из дуг.
В более общем виде дерево – это ДСД, которая представляет собой некоторую совокупность элементов и их отношений, которые составляют собой определенную иерархическую структуру [11].
Каждое дерево обладает такими свойствами:
• в дереве обязательно существует узел, в который ни одна дуга не входит;
• в каждый узел, кроме корня, должна входить одна дуга.
На практике деревья применяют для изображения различных типов иерархий (генеалогические деревья, структура каталогов и др.) [10].
Бинарное дерево (БД) – это ДСД, представляющее собой обычное дерево, каждая вершина которого содержит не более двух потомков (рис.8).
Т.е.
...

3.1. Особенности списков в языке Python

Списки в языке Python – один из основных типов данных, используемый для группирования вместе нескольких значений как список элементов, разделенный запятыми и заключенный в квадратные скобки [21].
Список можно определить с помощью квадратных скобок: list = []
Создадим список из целочисленных значений (int) и выведем его на экран (рис.9).

Рисунок 9 – Создание списка из целочисленных значений и вывод его на экран
Создадим и выведем на экран список из чисел с плавающей точкой (float) (рис.10):

Рисунок 10 – Создание списка из чисел с плавающей точкой и вывод его на экран
Далее создадим список из строковых элементов (string) (рис.11).

Рисунок 11 – Создание списка из строковых элементов и вывод его на экран
Так же можно создать список из разных элементов, например, из строк и чисел (рис.12).
...

3.2. Организация и обработка списков на примере языка Python
Списки допускают два вида операций – конкатенацию и размножение (мультипликацию). Конкатенацию, или склеивание выполняют следующим образом (рис.20).

Рисунок 20 – Пример конкатенации (склеивания) списков
Размножение списков производится с помощью знака умножения (рис.21).

Рисунок 21 – Пример размножение списка
Функция len() определяет длину списка, указанного в качестве аргумента для функции. Пример применения данной функции на рис.22.

Рисунок 22 – Пример работы функции len()
Функция range(N) отвечает за генерацию списка из N элементов арифметической прогрессии. Счет элементов вписка начинается с нуля (рис.23).

Рисунок 23 – Генерация списка с помощью функции range(N)
Так же можно указать начальный элемент прогрессии при генерации списка. Пример данной операции приведен на рис.24.

Рисунок 23 – Генерация списка с начальным и конечным элементами прогрессии
Так же можно указать начальный элемент и шаг прогрессии (рис.24).
...

ЗАКЛЮЧЕНИЕ

В рамках первого раздела данной курсовой работы рассмотрены особенности и специфика современных языков программирования высокого уровня. Приведены результаты анализа литературных источников по существующим языкам программирования, рассмотрены ключевые функциональные особенности современных языков программирования. Проведен анализ современных подходов к программированию, объектно-ориентированная и функциональная парадигмы программирования. Приведены их преимущества и недостатки. Даны определения терминам: абстракция, инкапсуляция, наследование и полиморфизм. Проведен анализ популярных языков программирования высокого уровня. В частности, рассмотрены языки Java, C# и Python. Приведена классификация используемых структур данных в современных языках программирования высокого уровня.
Во втором разделе приведены результаты проведенного обзора существующих динамических структур данных. Рассмотрены основные термины и специфика динамических структур данных.
...

1. Буйначев С.К., Боклаг Н.Ю. Основы программирования на языке Python. – М.: Издательство Уральского университета, 2014. – 92 с.
2. Васильев А.Н. Python на примерах. Практический курс по программированию. – М.: Наука и техника, 2016. – 432 с.
3. Веренинов И.А. Основы программирования. Учебное пособие. – СПб.: Издательство Политехнического университета, 2011. – 212 c.
4. Кубенский А.А. Функциональное программирование. – СПб.: СПбГУ ИТМО, 2012. – 251 с.
5. Куликов Д.В. Динамические структуры данных. – Петропавловск-Камчатский: КамчатГТУ, 2014. – 45 с.

и еще 16 источников

Форма заказа новой работы

Не подошла эта работа?

Закажи новую работу, сделанную по твоим требованиям

Согласен с условиями политики конфиденциальности и  пользовательского соглашения

Фрагменты работ

ВВЕДЕНИЕ 2
ГЛАВА 1 СПЕЦИФИКА СОВРЕМЕННЫХ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ 4
1.1. Анализ современных подходов к программированию 4
1.2. Существующие популярные высокоуровневые языки программирования 7
1.3. Классификация используемых в языках программирования структур данных 11
Выводы по главе 1 14
ГЛАВА 2. ОБЗОР СУЩЕСТВУЮЩИХ ДИНАМИЧЕСКИХ СТРУКТУР ДАННЫХ 15
2.1. Основные термины и специфика динамических структур данных 15
2.2. Особенности динамических структур данных 18
2.2.1. Список 18
2.2.2. Стек и Очередь 19
2.2.3. Бинарное дерево 22
Выводы по главе 2 24
ГЛАВА 3 СПЕЦИФИКА ИСПОЛЬЗОВАНИЯ ДИНАМИЧЕСКИЕ СТРУКТУР ДАННЫХ В СОВРЕМЕННЫХ ЯЗЫКАХ ПРОГРАММИРОВАНИЯ 25
3.1. Особенности списков в языке Python 25
3.2. Организация и обработка списков на примере языка Python 28
Выводы по главе 3 33
ЗАКЛЮЧЕНИЕ 34
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 36

1.1. Анализ современных подходов к программированию
1. Объектно-ориентированный метод разработки современного программного обеспечения.
Объектно-ориентированное программирование (ООП) это современная парадигма программирования, опирающаяся на такие ключевые понятия, как объект и класс, позволяющая организовать гибкую структуру программного кода проекта.
ООП появилась посредством развития идеологии функционально-процедурного программирования, в которой не было четкой связи между данными, процедурами и функциями, их вызов осуществлялся в ручную, а обработка передавалась посредством операторов типа goto [18].
На развитие парадигмы ООП существенное значение оказало концептуальные понятия события и компонента.
Основными понятиями в ООП являются классы и объекты. Класс представляет собой формализованный, в рамках синтаксиса используемого языка программирования в составленном пространстве имен, исходный код абстрактного (неинициализированной при создании) объекта (сущности).
...

1.3. Классификация используемых в языках программирования структур данных

Применяемые в современных языках программирования структуры данных часто разделяют на две универсальные категории (группы). Схематически это разделение показано на рис.2 [5].

Рисунок 2 – Классификация структур типов данных

1. Данные статической структуры, для которых характерным признаком является то, что взаимосвязи элементов и их расположение являются статичными, т.е. постоянными, вне зависимости от проводимых действий или попыток модификации.
2. Данные динамической структуры, для которых основным аспектом является то, что их внутреннее строение формируется по строгому правилу, а взаиморасположение, количество элементов и их взаимосвязи могут быть динамически модифицированы в процессе выполнения программного приложения.
Динамические структуры данных бывают различных типов (рис.3).
...

2.1. Основные термины и специфика динамических структур данных
Структура данных (СД) представляет собой некоторую совокупность поименованных элементов, каждый из которых может иметь разный тип, причем все они расположены последовательно в памяти компьютера. Любая структура включает в себя несколько или только один объект, которые именуются ее элементами (полями).
Динамические СД (ДСД) – это структуры данных, выделяемая память под которые формируется и освобождается динамически, т.е. по необходимости.
Динамический элемент (ДЭ) – это элемент ДСД, для которого характерной особенностью является то, что в конкретный отдельный момент он может отсутствовать или существовать во время исполнения программы в компьютерной памяти.
Динамическое распределение памяти заключается в операционном выделении памяти для каждого элемента именно в тот момент времени, инициируется создание элемента при выполнении программы [5].
...

2.2. Особенности динамических структур данных
2.2.1. Список
Списком – это ДСД, в котором осуществляется связка текущего элемента со следующим за счет использования указателя (рис.5).
Каждый элемент такого списка осуществляет хранение информацию, а также указывает на следующий элемент, идущий за ним следом. В связи с тем, что элемент списка используется для хранения информация и указатель, то структурно он представляет собой запись, в которой одно поле содержит некий объект, а другое содержит указатель на следующую запись. Данная запись называется звеном, а структура из такого рода записей представляет собой цепочку (т.е. список).
Логично предположить, что на самый первый элемент списка существует отдельный указатель, а также заключительный элемент списка не содержит указателя [5].
...

2.2.2. Стек и Очередь
Стек представляет собой тип ДСД, обработка которого осуществляется из одного, директивного конца, который называют вершиной стека. Т.е. стек позволяет осуществлять операции по добавлению в него определенных данных или компонентов и удалению. Принцип его работы - LIFO (Last-In, First-Out), т.е. первым обрабатывается элемент, который поступил последним [7].
Таким образом, можно утверждать, что в стеке операции выполняются всегда именно над последним элементом. При этом стек содержит верхнюю позицию, которая называется top (в нее помещается новый элемент) и нижняя позиция (bottom), обработка которой осуществляется в последнюю очередь.
Как правило, над стеками выполняются следующие операции:
• стартовое формирование (запись в стек первой компоненты);
• добавление новой компоненты;
• выборка или удаление компоненты из стека.
Для инициализации стека и последующей корректной работы с ним нужно иметь две разные переменные, типом которых является указатель.
...

2.2.3. Бинарное дерево
Дерево представляет собой некоторую совокупность узлов, которые называются вершинами, а также соединяющих их направленных ребер, называемых дугами. Особенностью дерева является то, что в каждый узел (кроме корневого узла) ведет как минимум одна дуга.
Корень представляет собой начальный узел, в который не ведет ни одна из дуг.
В более общем виде дерево – это ДСД, которая представляет собой некоторую совокупность элементов и их отношений, которые составляют собой определенную иерархическую структуру [11].
Каждое дерево обладает такими свойствами:
• в дереве обязательно существует узел, в который ни одна дуга не входит;
• в каждый узел, кроме корня, должна входить одна дуга.
На практике деревья применяют для изображения различных типов иерархий (генеалогические деревья, структура каталогов и др.) [10].
Бинарное дерево (БД) – это ДСД, представляющее собой обычное дерево, каждая вершина которого содержит не более двух потомков (рис.8).
Т.е.
...

3.1. Особенности списков в языке Python

Списки в языке Python – один из основных типов данных, используемый для группирования вместе нескольких значений как список элементов, разделенный запятыми и заключенный в квадратные скобки [21].
Список можно определить с помощью квадратных скобок: list = []
Создадим список из целочисленных значений (int) и выведем его на экран (рис.9).

Рисунок 9 – Создание списка из целочисленных значений и вывод его на экран
Создадим и выведем на экран список из чисел с плавающей точкой (float) (рис.10):

Рисунок 10 – Создание списка из чисел с плавающей точкой и вывод его на экран
Далее создадим список из строковых элементов (string) (рис.11).

Рисунок 11 – Создание списка из строковых элементов и вывод его на экран
Так же можно создать список из разных элементов, например, из строк и чисел (рис.12).
...

3.2. Организация и обработка списков на примере языка Python
Списки допускают два вида операций – конкатенацию и размножение (мультипликацию). Конкатенацию, или склеивание выполняют следующим образом (рис.20).

Рисунок 20 – Пример конкатенации (склеивания) списков
Размножение списков производится с помощью знака умножения (рис.21).

Рисунок 21 – Пример размножение списка
Функция len() определяет длину списка, указанного в качестве аргумента для функции. Пример применения данной функции на рис.22.

Рисунок 22 – Пример работы функции len()
Функция range(N) отвечает за генерацию списка из N элементов арифметической прогрессии. Счет элементов вписка начинается с нуля (рис.23).

Рисунок 23 – Генерация списка с помощью функции range(N)
Так же можно указать начальный элемент прогрессии при генерации списка. Пример данной операции приведен на рис.24.

Рисунок 23 – Генерация списка с начальным и конечным элементами прогрессии
Так же можно указать начальный элемент и шаг прогрессии (рис.24).
...

ЗАКЛЮЧЕНИЕ

В рамках первого раздела данной курсовой работы рассмотрены особенности и специфика современных языков программирования высокого уровня. Приведены результаты анализа литературных источников по существующим языкам программирования, рассмотрены ключевые функциональные особенности современных языков программирования. Проведен анализ современных подходов к программированию, объектно-ориентированная и функциональная парадигмы программирования. Приведены их преимущества и недостатки. Даны определения терминам: абстракция, инкапсуляция, наследование и полиморфизм. Проведен анализ популярных языков программирования высокого уровня. В частности, рассмотрены языки Java, C# и Python. Приведена классификация используемых структур данных в современных языках программирования высокого уровня.
Во втором разделе приведены результаты проведенного обзора существующих динамических структур данных. Рассмотрены основные термины и специфика динамических структур данных.
...

1. Буйначев С.К., Боклаг Н.Ю. Основы программирования на языке Python. – М.: Издательство Уральского университета, 2014. – 92 с.
2. Васильев А.Н. Python на примерах. Практический курс по программированию. – М.: Наука и техника, 2016. – 432 с.
3. Веренинов И.А. Основы программирования. Учебное пособие. – СПб.: Издательство Политехнического университета, 2011. – 212 c.
4. Кубенский А.А. Функциональное программирование. – СПб.: СПбГУ ИТМО, 2012. – 251 с.
5. Куликов Д.В. Динамические структуры данных. – Петропавловск-Камчатский: КамчатГТУ, 2014. – 45 с.

и еще 16 источников

Купить эту работу

Динамические структуры данных

600 ₽

или заказать новую

Лучшие эксперты сервиса ждут твоего задания

от 3000 ₽

Гарантии Автор24

Изображения работ

Страница работы
Страница работы
Страница работы

Понравилась эта работа?

или

25 февраля 2017 заказчик разместил работу

Выбранный эксперт:

Автор работы
nickolay.rud
5
Преподаватель IT-дисциплин
Купить эту работу vs Заказать новую
2 раза Куплено Выполняется индивидуально
Не менее 40%
Исполнитель, загружая работу в «Банк готовых работ» подтверждает, что уровень оригинальности работы составляет не менее 40%
Уникальность Выполняется индивидуально
Сразу в личном кабинете Доступность Срок 1—6 дней
600 ₽ Цена от 3000 ₽

5 Похожих работ

Дипломная работа

Разработка инфокоммуникационной системы управления крупным радиотелескопом

Уникальность: от 40%
Доступность: сразу
3300 ₽
Дипломная работа

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

Уникальность: от 40%
Доступность: сразу
3300 ₽
Дипломная работа

Разработка мультисервисной сети городского микрорайона

Уникальность: от 40%
Доступность: сразу
2800 ₽
Дипломная работа

Разработка автоматизированной системы учета пациентов

Уникальность: от 40%
Доступность: сразу
3750 ₽
Дипломная работа

Разработка Автоматизированной Системы Ведения Электронного Архива

Уникальность: от 40%
Доступность: сразу
2000 ₽

Отзывы студентов

Отзыв михаил об авторе nickolay.rud 2014-04-27
Дипломная работа

Автор молодец выполнил работу раньше срока. Спасибо

Общая оценка 5
Отзыв Геннадий Полушкин об авторе nickolay.rud 2016-06-03
Дипломная работа

Спасибо!

Общая оценка 5
Отзыв user9445 об авторе nickolay.rud 2016-05-18
Дипломная работа

Ребята, Автор - просто бомба! Как же мне с ним повезло!!! Инициативный, грамотный, всегда на связи! Gigavector даже после окончания гарантийного срока дорабатывает расчеты к моей дипломной работе "Разработка информационной системы для объектов дорожной сети" по замечаниям моего придирчивого препода! Надеюсь на благополучную защиту!!!

Общая оценка 5
Отзыв Вера302 об авторе nickolay.rud 2017-05-24
Дипломная работа

Все отлично! Спасибо за продуктивную работу и подробные пояснения что и как!

Общая оценка 5

другие учебные работы по предмету

Готовая работа

База данных в СУБД MS ACCESS

Уникальность: от 40%
Доступность: сразу
300 ₽
Готовая работа

Сетевые базы данных и СУБД

Уникальность: от 40%
Доступность: сразу
300 ₽
Готовая работа

СУБД Access

Уникальность: от 40%
Доступность: сразу
450 ₽
Готовая работа

Разработка базы данных

Уникальность: от 40%
Доступность: сразу
150 ₽
Готовая работа

Цифровая линия передачи

Уникальность: от 40%
Доступность: сразу
500 ₽
Готовая работа

Курсовой проект на тему "Разработка АРМ менеджера по снабжению с использованием средств СУБД Access"

Уникальность: от 40%
Доступность: сразу
550 ₽
Готовая работа

Работа с контактами и клиентской базой в системе взаимодействия с клиентами парикмахерской

Уникальность: от 40%
Доступность: сразу
1000 ₽
Готовая работа

Проектирование АС "Автокомплекс"

Уникальность: от 40%
Доступность: сразу
900 ₽
Готовая работа

Проектирование информационной системы «Детский сад Онлайн»

Уникальность: от 40%
Доступность: сразу
1100 ₽
Готовая работа

Разработка подсистемы управления файлами с непрерывным способом физической организации файла

Уникальность: от 40%
Доступность: сразу
1000 ₽
Готовая работа

Проектирование веб сайта (на примере CRM-системы в сфере сетевого маркетинга)

Уникальность: от 40%
Доступность: сразу
400 ₽
Готовая работа

Курсовая работа СУБД "Создание информационной системы ресторана"

Уникальность: от 40%
Доступность: сразу
1500 ₽