Простые структуры информации — в помощь студенту

Екатерина Малахова, редактор-фрилансер, специально для блога Нетологии адаптировала статью Beau Carnes об основных типах структур данных. «Плохие программисты думают о коде.

alt

Узнай стоимость своей работы

Бесплатная оценка заказа!

Оценим за полчаса!

Хорошие программисты думают о структурах данных и их взаимосвязях», — Линус Торвальдс, создатель Linux. Структуры данных играют важную роль в процессе разработки ПО, а еще по ним часто задают вопросы на собеседованиях для разработчиков.

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

В этой статье я покажу вам 10 самых распространенных структур данных. Для каждой из них приведены видео и примеры их реализации на JavaScript.

Чтобы вы смогли попрактиковаться, я также добавил несколько упражнений из бета-версии новой учебной программы freeCodeCamp.

Обратите внимание, что некоторые структуры данных включают временную сложность в нотации «большого О». Это относится не ко всем из них, так как иногда временная сложность зависит от реализации. Если вы хотите узнать больше о нотации «большого О», посмотрите это видео от Briana Marie.

В статье я привожу примеры реализации этих структур данных на JavaScript: они также пригодятся, если вы используете низкоуровневый язык вроде С. В многие высокоуровневые языки, включая JavaScript, уже встроены реализации большинства структур данных, о которых пойдет речь. Тем не менее, такие знания станут серьезным преимуществом при поиске работы и пригодятся при написании высокопроизводительного кода. Связный список — одна из базовых структур данных. Ее часто сравнивают с массивом, так как многие другие структуры можно реализовать с помощью либо массива, либо связного списка. У этих двух типов есть преимущества и недостатки. Простые структуры информации - в помощь студенту Так устроен связный список Связный список состоит из группы узлов, которые вместе образуют последовательность. Каждый узел содержит две вещи: фактические данные, которые в нем хранятся (это могут быть данные любого типа) и указатель (или ссылку) на следующий узел в последовательности. Также существуют двусвязные списки: в них у каждого узла есть указатель и на следующий, и на предыдущий элемент в списке. Основные операции в связном списке включают добавление, удаление и поиск элемента в списке.

alt

Узнай стоимость своей работы

Бесплатная оценка заказа!
Читайте также:  Защита от несанкционированного доступа к информации - в помощь студенту

Оценим за полчаса!

Пример реализации на JavaScript

Временная сложность связного списка
╔═══════════╦═════════════════╦═══════════════╗
║ Алгоритм ║Среднее значение ║ Худший случай ║
╠═══════════╬═════════════════╬═══════════════╣
║ Space ║ O(n) ║ O(n) ║
║ Search ║ O(n) ║ O(n) ║
║ Insert ║ O(1) ║ O(1) ║
║ Delete ║ O(1) ║ O(1) ║
╚═══════════╩═════════════════╩═══════════════╝

Стек — это базовая структура данных, которая позволяет добавлять или удалять элементы только в её начале. Она похожа на стопку книг: если вы хотите взглянуть на книгу в середине стека, сперва придется убрать лежащие сверху. Стек организован по принципу LIFO (Last In First Out, «последним пришёл — первым вышел») . Это значит, что последний элемент, который вы добавили в стек, первым выйдет из него. Простые структуры информации - в помощь студенту Так устроен стек В стеках можно выполнять три операции: добавление элемента (push), удаление элемента (pop) и отображение содержимого стека (pip).

Пример реализации на JavaScript

Временная сложность стека
╔═══════════╦═════════════════╦═══════════════╗
║ Алгоритм ║Среднее значение ║ Худший случай ║
╠═══════════╬═════════════════╬═══════════════╣
║ Space ║ O(n) ║ O(n) ║
║ Search ║ O(n) ║ O(n) ║
║ Insert ║ O(1) ║ O(1) ║
║ Delete ║ O(1) ║ O(1) ║
╚═══════════╩═════════════════╩═══════════════╝

  • Learn how a Stack Works
  • Create a Stack Class

Эту структуру можно представить как очередь в продуктовом магазине. Первым обслуживают того, кто пришёл в самом начале — всё как в жизни. Простые структуры информации - в помощь студенту Так устроена очередь Очередь устроена по принципу FIFO (First In First Out, «первый пришёл — первый вышел»). Это значит, что удалить элемент можно только после того, как были убраны все ранее добавленные элементы.

Очередь позволяет выполнять две основных операции: добавлять элементы в конец очереди (enqueue) и удалять первый элемент (dequeue).

Пример реализации на JavaScript

Временная сложность очереди
╔═══════════╦═════════════════╦═══════════════╗
║ Алгоритм ║Среднее значение ║ Худший случай ║
╠═══════════╬═════════════════╬═══════════════╣
║ Space ║ O(n) ║ O(n) ║
║ Search ║ O(n) ║ O(n) ║
║ Insert ║ O(1) ║ O(1) ║
║ Delete ║ O(1) ║ O(1) ║
╚═══════════╩═════════════════╩═══════════════╝

  • Create a Queue Class
  • Create a Priority Queue Class
  • Create a Circular Queue

Простые структуры информации - в помощь студенту Так выглядит множество Множество хранит значения данных без определенного порядка, не повторяя их. Оно позволяет не только добавлять и удалять элементы: есть ещё несколько важных функций, которые можно применять к двум множествам сразу.

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

Пример реализации на JavaScript

Map — это структура, которая хранит данные в парах ключ/значение, где каждый ключ уникален. Иногда её также называют ассоциативным массивом или словарём. Map часто используют для быстрого поиска данных. Она позволяет делать следующие вещи:

  • добавлять пары в коллекцию;
  • удалять пары из коллекции;
  • изменять существующей пары;
  • искать значение, связанное с определенным ключом.

Простые структуры информации - в помощь студенту

Так устроена структура map

Пример реализации на JavaScript

  • Create a Map Data Structure
  • Create an ES6 JavaScript Map

Простые структуры информации - в помощь студенту

Так работают хэш-таблица и хэш-функция

Хэш-таблица — это похожая на Map структура, которая содержит пары ключ/значение. Она использует хэш-функцию для вычисления индекса в массиве из блоков данных, чтобы найти желаемое значение. Обычно хэш-функция принимает строку символов в качестве вводных данных и выводит числовое значение. Для одного и того же ввода хэш-функция должна возвращать одинаковое число. Если два разных ввода хэшируются с одним и тем же итогом, возникает коллизия. Цель в том, чтобы таких случаев было как можно меньше. Таким образом, когда вы вводите пару ключ/значение в хэш-таблицу, ключ проходит через хэш-функцию и превращается в число. В дальнейшем это число используется как фактический ключ, который соответствует определенному значению. Когда вы снова введёте тот же ключ, хэш-функция обработает его и вернет такой же числовой результат. Затем этот результат будет использован для поиска связанного значения. Такой подход заметно сокращает среднее время поиска.

Пример реализации на JavaScript

Временная сложность хэш-таблицы
╔═══════════╦═════════════════╦═══════════════╗
║ Алгоритм ║Среднее значение ║ Худший случай ║
╠═══════════╬═════════════════╬═══════════════╣
║ Space ║ O(n) ║ O(n) ║
║ Search ║ O(1) ║ O(n) ║
║ Insert ║ O(1) ║ O(n) ║
║ Delete ║ O(1) ║ O(n) ║
╚═══════════╩═════════════════╩═══════════════╝

Простые структуры информации - в помощь студенту Двоичное дерево поиска Дерево — это структура данных, состоящая из узлов. Ей присущи следующие свойства:

  • Каждое дерево имеет корневой узел (вверху).
  • Корневой узел имеет ноль или более дочерних узлов.
  • Каждый дочерний узел имеет ноль или более дочерних узлов, и так далее.

У двоичного дерева поиска есть два дополнительных свойства:

  • Каждый узел имеет до двух дочерних узлов (потомков).
  • Каждый узел меньше своих потомков справа, а его потомки слева меньше его самого.

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

Пример реализации на JavaScript

Временная сложность двоичного дерева поиска
╔═══════════╦═════════════════╦══════════════╗
║ Алгоритм ║Среднее значение ║Худший случай ║
╠═══════════╬═════════════════╬══════════════╣
║ Space ║ O(n) ║ O(n) ║
║ Search ║ O(log n) ║ O(n) ║
║ Insert ║ O(log n) ║ O(n) ║
║ Delete ║ O(log n) ║ O(n) ║
╚═══════════╩═════════════════╩══════════════╝

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

Так устроено префиксное дерево

Каждый узел в языковом префиксном дереве содержит одну букву слова. Чтобы составить слово, нужно следовать по ветвям дерева, проходя по одной букве за раз. Дерево начинает ветвиться, когда порядок букв отличается от других имеющихся в нем слов или когда слово заканчивается. Каждый узел содержит букву (данные) и булево значение, которое указывает, является ли он последним в слове. Посмотрите на иллюстрацию и попробуйте составить слова. Всегда начинайте с корневого узла вверху и спускайтесь вниз. Это дерево содержит следующие слова: ball, bat, doll, do, dork, dorm, send, sense.

Пример реализации на JavaScript

  • Create a Trie Search Tree

Двоичная куча — ещё одна древовидная структура данных. В ней у каждого узла не более двух потомков. Также она является совершенным деревом: это значит, что в ней полностью заняты данными все уровни, а последний заполнен слева направо. Простые структуры информации - в помощь студенту Так устроены минимальная и максимальная кучи Двоичная куча может быть минимальной или максимальной. В максимальной куче ключ любого узла всегда больше ключей его потомков или равен им. В минимальной куче всё устроено наоборот: ключ любого узла меньше ключей его потомков или равен им. Порядок уровней в двоичной куче важен, в отличие от порядка узлов на одном и том же уровне. На иллюстрации видно, что в минимальной куче на третьем уровне значения идут не по порядку: 10, 6 и 12.

Пример реализации на JavaScript

Временная сложность двоичной кучи
╔═══════════╦══════════════════╦═══════════════╗
║ Алгоритм ║ Среднее значение ║ Худший случай ║
╠═══════════╬══════════════════╬═══════════════╣
║ Space ║ O(n) ║ O(n) ║
║ Search ║ O(n) ║ O(n) ║
║ Insert ║ O(1) ║ O(log n) ║
║ Delete ║ O(log n) ║ O(log n) ║
║ Peek ║ O(1) ║ O(1) ║
╚═══════════╩══════════════════╩═══════════════╝
Графы — это совокупности узлов (вершин) и связей между ними (рёбер). Также их называют сетями. По такому принципу устроены социальные сети: узлы — это люди, а рёбра — их отношения. Простые структуры информации - в помощь студенту Графы делятся на два основных типа: ориентированные и неориентированные. У неориентированных графов рёбра между узлами не имеют какого-либо направления, тогда как у рёбер в ориентированных графах оно есть. Чаще всего граф изображают в каком-либо из двух видов: это может быть список смежности или матрица смежности. Граф в виде матрицы смежности Список смежности можно представить как перечень элементов, где слева находится один узел, а справа — все остальные узлы, с которыми он соединяется. Матрица смежности — это сетка с числами, где каждый ряд или колонка соответствуют отдельному узлу в графе. На пересечении ряда и колонки находится число, которое указывает на наличие связи. Нули означают, что она отсутствует; единицы — что связь есть. Чтобы обозначить вес каждой связи, используют числа больше единицы.

Читайте также:  Операторы физических величин - в помощь студенту

Существуют специальные алгоритмы для просмотра рёбер и вершин в графах — так называемые алгоритмы обхода.

К их основным типам относят поиск в ширину (breadth-first search) и в глубину (depth-first search).

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

Пример реализации на JavaScript

Временная сложность списка смежности (графа)
╔═══════════════╦════════════╗
║ Алгоритм ║ Время ║
╠═══════════════╬════════════╣
║ Storage ║ O(|V|+|E|) ║
║ Add Vertex ║ O(1) ║
║ Add Edge ║ O(1) ║
║ Remove Vertex ║ O(|V|+|E|) ║
║ Remove Edge ║ O(|E|) ║
║ Query ║ O(|V|) ║
╚═══════════════╩════════════╝

Если до этого вы никогда не сталкивались с алгоритмами или структурами данных, и у вас нет какой-либо подготовки в области ИТ, лучше всего подойдет книга Grokking Algorithms. В ней материал подан доступно и с забавными иллюстрациями (их автор — ведущий разработчик в Etsy), в том числе и по некоторым структурам данных, которые мы рассмотрели в этой статье. Нетология проводит набор на курсы по Big Data:

1. Программа «Big Data: основы работы с большими массивами данных»

Для кого: инженеры, программисты, аналитики, маркетологи — все, кто только начинает вникать в технологию Big Data.

  • введение в историю и основы технологии;
  • способы сбора больших данных;
  • типы данных;
  • основные и продвинутые методы анализа больших данных;
  • основы программирования, архитектуры хранения и обработки для работы с большими массивами данных.

Формат занятий: онлайн.

Подробности по ссылке → http://netolo.gy/dJd

2. Программа «Data Scientist»

Для кого: специалисты, работающие или собирающиеся работать с Big Data, а также те, кто планирует построить карьеру в области Data Science. Для обучения необходимо владеть как минимум одним из языков программирования (желательно Python) и помнить программу по математике старших классов (а лучше вуза). Темы курса:

  • экспресс-обучение основным инструментам, Hadoop, кластерные вычисления;
  • деревья решений, метод k-ближайших соседей, логистическая регрессия, кластеризация;
  • уменьшение размерности данных, методы декомпозиции, спрямляющие пространства;
  • введение в рекомендательные системы;
  • распознавание изображений, машинное зрение, нейросети;
  • обработка текста, дистрибутивная семантика, чатботы;
  • временные ряды, модели ARMA/ARIMA, сложные модели прогнозирования.

Формат занятий: офлайн, г. Москва, центр Digital October. Преподают специалисты из Yandex Data Factory, Ростелеком, «Сбербанк-Технологии», Microsoft, OWOX, Clever DATA, МТС.

Подробности по ссылке.

Источник: https://habr.com/post/334914/

8 известных структур данных, о которых спросят на собеседовании

Кратко разбираем 8 основных структур данных, в которых должен разбираться каждый разработчик. Проверьте свои теоретические знания.

Простые структуры информации - в помощь студенту

Никлаус Вирт, швейцарский информатик, написал в 1976 году книгу под названием «Алгоритмы + структуры данных = программы».

Больше сорока лет спустя это уравнение все еще верно. Почти все задачи программирования требуют от разработчика глубокого понимания структур данных. Вопросы на эту тему обязательно встречаются на любом IT-собеседовании.

Иногда в этих вопросах явно упоминается искомая структура, например, «дано двоичное дерево». В других случаях это не столь очевидно, например, «мы хотим отслеживать количество книг, связанных с каждым автором».

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

Что такое структуры данных?

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

Зачем нужны структуры данных?

Данные являются самой важной сущностью в информатике, а структуры позволяют хранить их в организованной форме.

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

В зависимости от ситуации данные должны храниться в некотором определенном формате. Структуры данных предлагают несколько вариантов таких размещений.

8 часто используемых структур

Давайте сначала перечислим наиболее часто используемые структуры данных, а затем рассмотрим их одну за другой:

  1. Массив (Array)
  2. Стек (Stack)
  3. Очередь (Queue)
  4. Связный список (Linked List)
  5. Дерево (Tree)
  6. Граф (Graph)
  7. Префиксное дерево (Trie)
  8. Хэш-Таблица (Hash Table)

Массивы

Массив – это самая простая и наиболее широко используемая из структур. Стеки и очереди являются производными от массивов.

Вот изображение простого массива размером 4, содержащего элементы (1, 2, 3 и 4).

Простые структуры информации - в помощь студенту

Каждому из них присваивается неотрицательное числовое значение – индекс, который соответствует позиции этого элемента в массиве. Большинство языков определяют начальный индекс массива как 0.

Существует два типа массивов:

  • Одномерные массивы (как на картинке).
  • Многомерные массивы (массивы массивов).

Основные операции с массивами

  • Insert – вставка.
  • Get – получение элемента.
  • Delete – удаление.
  • Size – получение общего количества элементов в массиве.

Частые вопросы о массивах

Стеки

Мы все знакомы с опцией Отменить (Undo), которая присутствует практически в каждом приложении. Вы когда-нибудь задумывались, как это работает?

Для этого вы сохраняете предыдущие состояния приложения (определенное их количество) в памяти в таком порядке, что последнее сохраненное появляется первым. Это не может быть сделано только с помощью массивов. Здесь на помощь приходит стек.

Пример стека из реальной жизни – куча книг, лежащих друг на друге. Чтобы получить книгу, которая находится где-то в середине, вам нужно удалить все, что лежит сверху. Так работает метод LIFO (Last In First Out, последним пришел – первым ушел).

Вот изображение стека, содержащего три элемента (1, 2 и 3). Элемент 3 находится сверху и будет удален первым:

Простые структуры информации - в помощь студенту

Основные операции со стеками

  • Push – вставка элемента наверх стека.
  • Pop – получение верхнего элемента и его удаление.
  • isEmpty – возвращает true, если стек пуст.
  • Top – получение верхнего элемента без удаления.

Часто задаваемые вопросы о стеках

Очереди

Как и стек, очередь – это линейная структура данных, которая хранит элементы последовательно. Единственное существенное различие заключается в том, что вместо использования метода LIFO, очередь реализует метод FIFO (First in First Out, первым пришел – первым ушел).

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

Вот изображение очереди, содержащей четыре элемента (1, 2, 3 и 4). Здесь 1 находится вверху и будет удален первым:

Простые структуры информации - в помощь студенту

Основные операции с очередями

  • Enqueue – вставка в конец.
  • Dequeue –  удаление из начала.
  • isEmpty – возвращает true, если очередь пуста.
  • Top – получение первого элемента.

Часто задаваемые вопросы об очередях

  • Реализация стека с помощью очереди.
  • Развернуть первые k элементов.
  • Генерация двоичных чисел от 1 до n с помощью очереди.

Связный список

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

Связный список – это сеть узлов, каждый из которых содержит данные и указатель на следующий узел в цепочке. Также есть указатель на первый элемент – head. Если список пуст, то он указывает на null.

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

Вот визуальное представление внутренней структуры связного списка:

Простые структуры информации - в помощь студенту

Типы связных списков:

  • Однонаправленный
  • Двунаправленный

Основные операции со связными списками

  • InsertAtEnd – вставка в конец.
  • InsertAtHead – вставка в начало.
  • Delete – удаление указанного элемента.
  • DeleteAtHead – удаление первого элемента.
  • Search – получение указанного элемента.
  • isEmpty – возвращает true, если связный список пуст.

Часто задаваемые вопросы о связных списках

  • Разворот связного списка.
  • Обнаружение цикла.
  • Получение N-го узла с конца.
  • Удаление дубликатов.

Графы

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

Пара (x, y) называется ребром, которое указывает, что вершина x соединена с вершиной y.

Ребро может содержать вес/стоимость, показывая, сколько затрат требуется, чтобы пройти от x до y.

Простые структуры информации - в помощь студенту

Типы графов:

  • Неориентированный
  • Ориентированный

В языке программирования графы могут быть представлены в двух формах:

  • Матрица смежности
  • Список смежности

Общие алгоритмы обхода графов:

Часто задаваемые вопросы о графах

Деревья

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

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

Вот изображение простого дерева, и основные термины:

Простые структуры информации - в помощь студенту

Типы деревьев:

Из всех типов чаще всего используются бинарное дерево и бинарное дерево поиска.

Часто задаваемые вопросы о деревьях

  • Высота бинарного дерева.
  • Найти k-ое максимальное значение в дереве бинарного поиска.
  • Узлы на расстоянии k от корня.
  • Предки заданного узла в бинарном дереве.

Префиксное дерево

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

Вот иллюстрация того, как три слова top, thus и their хранятся в префиксном дереве:

Простые структуры информации - в помощь студенту

Слова размещаются сверху вниз. Выделенные зеленым элементы показывают конец каждого слова.

Часто задаваемые вопросы о префиксных деревьях

  • Общее количество слов.
  • Вывод всех слов.
  • Сортировка элементов массива.
  • Формирование слов из словаря.
  • Создание словаря T9.

Хеш-Таблица

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

Итак, объект хранится в виде пары ключ-значение, а коллекция таких элементов называется словарем. Каждый объект можно найти с помощью его ключа.

Существует несколько структур, основанных на хешировании, но наиболее часто используется хеш-таблица, которая обычно реализуется с помощью массивов.

Производительность структуры зависит от трех факторов:

  • функция хеширования;
  • размер хеш-таблицы;
  • метод обработки коллизий.

Вот иллюстрация того, как хэш отображается в массиве. Индекс вычисляется с помощью хеш-функции.

Простые структуры информации - в помощь студенту

Часто задаваемые вопросы о хеш-таблицах

  • Найти симметричные пары.
  • Определить, является ли массив подмножеством другого массива.
  • Проверить, являются ли массивы непересекающимися.

Теперь вы знаете 8 основных структур данных любого языка программирования. Можете смело отправляться на IT-собеседование.

Перевод статьи Fahim ul Haq: The top data structures you should know for your next coding interview

Источник: https://proglib.io/p/8-data-structures/

Оформление реферата – как всё сделать правильно?

Простые структуры информации - в помощь студенту

Бывает, что студент приносит преподавателю прекрасный, глубокий, отлично раскрывающий тему реферат, а препод заворачивает работу из-за неправильного оформления. Особенно обидно получить такой сюрприз перед самым зачётом или экзаменом, на который без засчитанного реферата не допускают. Так что оформление реферата – это не мелочь.

Впрочем, в правилах оформления реферата нет ничего сложного. Проблемы обычно возникают у первокурсников, которые просто пока ещё не знают, как правильно оформить реферат (потому, что поленились это выяснить до сдачи). Но эта статья поможет тем, кто не взял на кафедре методичку и задумался об оформлении в ночь перед сдачей работы – согласитесь, распространённая ситуация!

Иногда палево с правильным оформлением реферата случается у новичков-студлансеров. Решив подработать, начинающий студлансер полагает, что достаточно просто написать работу, и очень расстраивается, когда заказчик со скандалом требует доработок: оформление не по стандарту. Так что и студлансерам эта статья, нам кажется, тоже пригодится.

Общие правила оформления рефератов

Существует несколько видов рефератов, но в данном случае мы подразумеваем формат учебной работы. Это работа, которую можно назвать уменьшенным, более простым вариантом курсовой. Поэтому учебный реферат оформляется в целом так же, как курсовые и дипломы.

Во многих вузах и тем более в школах к оформлению рефератов подходят менее строго, допуская небольшие отступления от строгого стандарта ГОСТа.

На некоторых факультетах есть свои правила, касающиеся оформления работ, особенно титульных листов (так что, помимо изучения общих правил, описанных ниже, рекомендуем всё-таки взять на кафедре методичку; иногда особые требования изобретаются преподавателями именно для того, чтобы проверить – читали ли вы эту методичку или нет?).

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

Лучше всего, если вы изучите правила оформления реферата по ГОСТу, которые соответствуют стандартам оформления более серьёзных научно-исследовательских работ. Даже если преподаватель не из придир, лишними эти навыки не будут. А если вам попадётся «бюрократ» из нашей классификации научных руководителей, то оформление реферата по ГОСТу будет важнее содержания!

Как правильно оформить реферат?

  1. Используйте шрифт Times New Roman. В ГОСТе это не прописано, но практика уже установившаяся.
  1. Традиционно используется кегль 14-й, иногда 12-й. Этот момент лучше уточнить у преподавателя. Как правило, для учебных работ выбирается 14-й, но если объём реферата большой, есть смысл выбрать кегль чуть меньше.

    А вот больший – нельзя, так как преподаватель сразу поймёт, что вы визуально раздуваете объём.

  1. Межстрочный интервал – полуторный. Больший интервал, опять же, говорит о попытке смухлевать с объёмом.
  1. Ориентация листа – книжная. Альбомная иногда допускается при оформлении приложений (например, широких таблиц).

  1. Поля: 1,5 см для верхнего, 3 см для нижнего, 1,5 см для правого и 2,5 см для левого (1 см – запас для подшивки листов). Увеличение полей иногда используется студентами для увеличения числа листов, но эта практика может привести к неприятностям, особенно если вы совсем обнаглели и выставили в настройках 3 – 3 – 3 – 4.

  1. Листы форма А4, плотность – стандартная для распечатки принтером, цвет белый.
  1. Текст печатается только на одной стороне листа. Оборотная должна остаться чистой. Кстати, распространённая ошибка среди новичков, часто пишущих с обеих сторон, как в тетрадке.
  1. Нумерация (арабскими цифрами) проставляется с третьего листа (с введения).

    1-й и 2-й листы (титульный и содержание), согласно ГОСТу, не нумеруются, но учитываются в подсчёте. Проще говоря, на первых двух листах внизу цифр нет, на листе с введение – уже ставится «3». Приложения не нумеруются.

  1. Титульный лист состоит из следующих частей:

— Шапка с полным наименованием учебного заведения (вуза, колледжа, школы и т. д.

), названием факультета и кафедры, а также и фразой «Министерство образования и науки Российской Федерации» (её при оформлении титульного листа реферата иногда исключают). Форматирование – по центру.

— Надпись «РЕФЕРАТ» с названием работы и указанием дисциплины. Форматирование по центру. Иногда название указывается просто, без кавычек, иногда вписывается в формулу … на тему «Ν»… (то же самое с указанием дисциплины; конкретные требования уточняйте на кафедре). Форматирование по центру, расположение – примерно посередине листа (или чуть-чуть выше).

— Данные об авторе (ФИО, курс, иногда группа или отделение) и научном руководителе (ФИО, должность, научная степень – или в формате «д. и. н.», «к. м. н.», или развёрнуто, уточняйте в методичке).

Этот блок располагается на 7 – 9 интервалов ниже предыдущего.

Обратите внимание на то, что блок располагается справа, но первые буквы строк выстроены в одну линию – добиться такого расположения можно, используя клавишу Tab.

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

Основной кегль при оформлении титульного листа – 14, но слово «РЕФЕРАТ» и название темы обычно набираются более крупным.

Образец оформления титульного листа для реферата:

Простые структуры информации - в помощь студенту

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

Для каждого из элементов, кроме приложений, указывается номер страницы. Приложения не нумеруются, так как могут представлять собой не только листы, но и папки с материалами, диски и т. д.

В верхней части листа пишется: «СОДЕРЖАНИЕ» (без кавычек, верхним регистром). Далее следует информация об элементах работы с форматированием по левому краю, но страницы указываются напротив, с форматированием по левому (используйте клавишу TAB).

Образец оформления содержания:

Простые структуры информации - в помощь студенту

  1. Начинает работу введение. Как правило, все учебные рефераты содержат эту часть, аналогичной курсовым и дипломам.
  1. Основная часть реферата делится (за редкими исключениями) на главы. Иногда внутри глав выделяются параграфы (или пункты).
  1. Главы начинаются с нового листа. Иногда с нового листа начинаются и параграфы (этот момент уточните в методичке).

Негласное правило: завершающая часть главы должна занимать не менее четверти листа. У хитрых студентов, раздувающих объём, концы глав «висят» несколькими строчками на почти чистом листе, что вызывает сильное раздражение у преподавателей: они чувствуют, что их, как бы так выразиться… считают дураками.

  1. Заключение также начинается на отдельном листе.
  1. Заголовки структурных элементов реферата (введения, заключения, списка литературы, наименования глав) оформляются единообразно. Форматирование – по центру. Обычно – верхним регистром. Возможно дополнительное использование болда (жирного).

Не допускается оформление названия одного элемента верхним регистром, другого – нижним.

Исключение: Параграфы и пункты, если они не начинаются на отдельных листах, могут оформляться нижним регистром и болдом при оформлении названий глав верхним регистром. В этом случае они считаются составной частью глав. Этот нюанс лучше уточнить у преподавателя.

  1. Названия глав, параграфов, пунктов и других элементов работы пишется БЕЗ КАВЫЧЕК. 
  1. Внимание! После названий глав, слов «Введение», «Заключение», «Приложение» и фразы «Список литературы» ТОЧКА НЕ СТАВИТСЯ! НЕ СТАВИТСЯ!!! НЕ СТАВИТСЯ!!! Очень частая ошибка. Доводит преподавателей до истерики
  1. Список литературы оформляется на отдельном листе. В рефератах число использованных материалов невелико, поэтому группы в списке литературы, как правило, не выделяются (впрочем, это зависит от требований кафедры и научного руководителя). Но если в списке литературы есть источники, а не только научные исследования, выделение групп необходимо. Это актуально для историков, юристов, философов и ещё нескольких специальностей.
  1. Список литературы выстраивается по алфавиту. Работы на иностранных языках, если таковые имеются, учебных работах обычно следуют после русскоязычных.
  1. Оформление списка использованной литературы – согласно ГОСТу, то есть согласно правилам библиографического оформления источников.

Допускается два варианта оформления: с тире между областями библиографического описания и без него. Число страниц в работе может опускаться.

Образец оформления библиографии: 

Иванов И. И. Межгалактические гипердвигатели. – М.: Политех, 2010. –  421 с. 

Или: 

Иванов И. И. Межгалактические гипердвигатели. М.: Политех, 2010. 

Внимание: инициалы отделяются друг от друга не только точками, но и пробелами. 

  1. Ссылки – требование опциональное. Часть рефератов (например, школьные) пишется без простановки ссылок. Если ссылки нужны, они оформляются по стандартным правилам. Обычно – на отдельном листе, после списка литературы. Иногда – постранично (в этом случае рекомендуется сплошная нумерация ссылок). Как оформлять ссылки – в конце работы или постранично, уточняйте у преподавателя.

В ссылках указывается название работы (в соответствии с правилами оформления библиографии), страница, с которой взята информация. Если страниц несколько, они указываются через тире:

Иванов И. И. Межгалактические гипердвигатели. М.: Политех, 2010. С. 35 – 37.

Если вы дважды или и более раз ссылаетесь на один источник, используется следующая формула:

Иванов И. И. Указ. соч. С. 35 – 37.

Если ссылаетесь на этот источник дважды или несколько раз подряд, пишется просто:

Там же. С. 39.

  1. Приложение завершает работу. Его страницы не нумеруются. Если приложений несколько, они нумеруются латинскими цифрами: I, II, III и т. д.
  1. Листы готового реферата скрепляются спиралью или же пробиваются дыроколом и вкладываются в папку с прозрачным верхним листом.

Источник: https://studlance.ru/blog/oformlenie-referata-kak-vsyo-sdelat-pravilno

Реферативный обзор описание, особенности, пример и образец статей

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

Следует придерживаться следующих общих требований, выдвигаемых к реферативному обзору:

  • информативность;
  • фиксирование всех положений источника без искажений;
  • корректность при оценке материала.

Структура и описание реферативного обзора

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

  1. Каждая работа обязательно снабжается титульным листом. Необходимо указать все сведения об авторе, а также полное название исследуемого материала.

  2. Следующим в работе должно идти введение. Это важная часть всего обзора, где прописывается тема и цель источника, его актуальность. Важно указать на значение материалов, вкратце привести историю вопроса с указанием на смежность с другими областями. Оно должно занимать не более 2 страниц формата А4.

  3. В основной части выделяют три основных элемента: библиографическое описание, сам реферативный текст, справочный аппарат.

  • Библиографическое описание должно содержать сведения, относящиеся к заголовку (учебник, справочник и др.), место и год издания, объем, электронный адрес.
  • Для того чтобы написать реферативный текст, необходимо выявить проблему, которой посвящена работа автора. Затем рассмотреть ее содержание и актуальность, предлагаемое в источнике решение. Особенность заключается в том, что эта часть не делится на абзацы и разделы. Однако требуется выделить начало. Объем не более 2 страниц.
  • Справочный аппарат включает в себя индекс УДК, номер по рубрикатору, информацию об иллюстрациях и таблицах и их количестве. Также могут присутствовать замечания референта.
  1. В качестве заключения студент должен сделать резюме (объемом до 1 листа), в котором изложены все важные положения и сопоставлены разные точки зрения на освещаемый вопрос.

Простые структуры информации - в помощь студенту

Цели и задачи реферативного обзора

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

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

Это позволяет ознакомиться с современными теоретическими и практическими проблемами, изучить отечественный и зарубежный опыт по конкретным вопросам.

В числе задач, стоящих перед такой формой задания, как реферативная работа, выделяют развитие следующих умений:

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

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

Типы реферативного обзора

Все рефераты-обзоры можно отнести к определенному типу. Наиболее распространенными являются следующие:

  • функционально-целевые – выделяются на основе тех задач, которые позволяют достигнуть намеченную цель, выделить конкретные свойства или характеристики предмета изучения;
  • структурно-технологические – содержат этапы, направления развития определенной сферы деятельности или производства;
  • методологические – такое членение выполняется по примененным методам исследования к предмету;
  • географические – в основе лежит место распространения, локализации или развития предмета исследования;
  • хронологические  – освещают периоды исторического развития, координаты предмета во времени.

Простые структуры информации - в помощь студенту

Особенности реферативного обзора

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

Источник: https://tebestudent.ru/polezno-znat/referaty/referativnyy-obzor/

Структурирование информации: способы и виды автоматизации сборки

О том, что такое структурирование, знают многие. «Разложить по полочкам» – значит «структурировать». Структурирование информации – это разделение её по отдельным, схожим критериям на группы, а также выстраивание связей логических цепочек между полученными группами.

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

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

Любая информация нуждается в структурировании, если вы хотите быстро для себя её зафиксировать. Как это делать, читаем далее.

В основе данного понятия – её упрощение. Иными словами, нам нужно данный сложный массив логических связей, цепочек разобрать на простые элементы. Важно знать два принципа – на них строится всё упрощение информации:

  1. Принцип первый: всю имеющуюся информацию необходимо разделить на группы, подгруппы в соответствии с отдельно взятыми критериями. Здесь всё просто: берём какой-либо критерий, признак, на котором построена информация – например, раздел «Числительные» в иностранных языках, после чего подгоняем всю имеющуюся информацию под написанный критерий – запоминаем только иностранные числительные.
  2. Принцип второй: группы и подгруппы должны быть тесно связаны логическими цепочками, ассоциативными рядами или же выстроены в соответствии с определёнными правилами: по степени важности, по времени, форме. Те же иностранные числительные можно «связать» похожим звучанием, правилами построения их форм.

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

«Карта памяти» – метод Бьюзена

Метод довольно прост. Он заключается в построении блок-схемы – в ней будет наглядно изображена вся информация. В основе этого алгоритма лежит автоматизация сборки.

Чтобы изобразить блок-схему, необходимо взять лист бумаги (ватман), ручку. При желании – для большей наглядности – стоит взять ещё цветные карандаши, фломастеры. В центре листа обозначьте название материала, который необходимо запомнить. Если это учебник «История Древнего Египта», так и пишите.

«Принцип работы вариаторной коробки в автомобиле» или «Как работает программа 1С» – пишите. Советуется слова заменить символами или картинками, которые точно будут передавать суть темы. Ту же вариаторную коробку наглядно изобразите на бумаге, а 1С – просто обозначить символом программы.

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

За счёт наглядности, разбивания материала на блоки запоминание информации произойдёт довольно быстро.

«Римская комната» метод Цицерона

Данный метод существует ещё со времён римского философа Цицерона, поэтому в его эффективности сомневаться не стоит. Суть метода в том, что материал разбивается на отдельные блоки, а затем мысленно расставляется в знакомой вам комнате – скажем, в вашей кухне.

Важно! Все блоки надо расставляться в строго определённом порядке.

Как только вы «расставите» блоки по комнате, в вашей памяти зафиксируется простая цепочка информации, которую вы легко запомните. И теперь, чтобы обратиться к информации, вам достаточно будет вспомнить вашу кухню. Кстати, под кухней необязательно выбирать комнату: используйте улицу, парк, даже шкаф. Главное, чтобы вы чётко понимали, помнили структуру помещения, объекта.

«7плюс/минус2»: метод Миллера

Этот интересный метод основан на способности человека запоминать 9 двоичных чисел, 8 – десятичных, 7 букв, 5 слов, причём это кратковременная память.

Таким образом, данными способом получается группу из семи плюс/минус два элементов – её мы можем использовать для создания групп и подгрупп.

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

Отдельно стоит поговорить про эффекты запоминания информации, поскольку они тоже помогают её структурировать.

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

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

Можно также выделить какой-либо отдельный признак – так запомнить объект намного легче.

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

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

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

Все приведённые методы, эффекты структурирования информации должны создаваться таким образом, чтобы вам, и только вам было удобнее запоминать информацию. Сочетать все перечисленные методы – вполне возможно.

В заключение отметим, что структурирование информации – вещь полезная, нужная, особенно если требуется запоминать большие объёмы информации.

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

Источник: http://arprime.ru/optimizacia/strukturirovanie-informacii-avtomatizaciya-sborki

Ссылка на основную публикацию