Привет, Мой Великолепный Друг В Интернете
Итак, после двух с половиной лет учебы в колледже и почти года серьезного программирования, теперь я хочу заняться конкурентным программированием. И прежде чем приступить к испытаниям, я решил освежить свои навыки Структура данных и алгоритмы .
Итак, с сегодняшнего дня я начал изучать структуры данных и я решил начать публиковать об этом здесь, чтобы следить за своими успехами и делиться ими с вами, товарищи.
Проверьте мой репозиторий GitHub для всех программ:
джеймс шах/Структуры Данных И Алгоритмы
Структуры Данных И Алгоритмы Для Целей Обучения.
Вступление
Структура данных – это, по сути, способ хранения и организации данных для эффективного использования. Организованные данные гораздо проще в использовании, чем неорганизованные данные. Например, подумайте о словах в словаре. Они расположены в алфавитном порядке, и поэтому из них легко найти нужное слово. Точно так же, когда в компьютере нам нужно организовать данные для эффективного и простого использования; структура данных является ответом.
Структуры данных могут быть-
- Линейный
- Нелинейный
Основные Типы Структуры Данных:
- Массив
- Связанный список
- Стек
- Очередь
- Дерево
- Диаграмма
Дерево и график являются двумя примерами нелинейной структуры данных. Остальные из них представляют собой линейную Структуру данных.
Теперь давайте начнем с первой структуры данных:
Массивы
Проще говоря, Массив – это набор элементов одного и того же типа данных, таких как целое число или строка. Таким образом, мы можем использовать массив для хранения данных одного и того же типа. Например, мы можем хранить “имя людей” в массиве строкового типа, мы можем хранить “возраст людей” в массиве целочисленного типа и т.д.
- Мы обращаемся к элементам массива с помощью индекса. элемент.
- Индекс массива начинается с 0. т.е. элемент, элемент.
Вот простая программа, реализующая массив на Java.
- Мы также можем создавать многомерные массивы.
- Многомерные массивы полезны для реализации матриц.
Вот простая программа, реализующая двумерный массив на Java.
Плюсы:
- Массив полезен для данных фиксированного размера и когда мы уже знаем общее количество элементов.
- Мы можем выполнять практически все операции с массивом, такие как вставка элемента в определенную позицию, удаление элемента из определенной позиции, считывание значения элемента из определенной позиции.
Аферы:
- Реализация динамического массива обходится дорого. т.е., когда мы не знаем размер массива, мы случайным образом создаем массив некоторого размера, и если нам нужно поместить больше элементов, чем размер нашего массива – нам нужно создать новый массив двойного размера, скопировать все элементы старого массива в новый массив, а затем вставить новые элементы. Это дорого с точки зрения временной сложности и, следовательно, непрактично.
Спасибо За Прокрутку, Оставайтесь Здесь ✌ 🏻 . Счастливого кодирования! 💻 🖤
Оригинал: “https://dev.to/jamesshah/data-structures-and-algorithms-day-1-3n23”