Skip to content

Data Structures and Algorithms

garevna edited this page Nov 2, 2018 · 3 revisions

Структуры данных - это способы организации и хранения данных Алгоритм — последовательность действий ( операций )

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

Алгоритмы характеризуются производительностью Под производительностью алгоритма понимается: - число операций алгоритма ( от чего зависит время выполнения ) - объем необходимой памяти

Основные структуры данных:

  • Связный список
  • Динамический массив
  • Стеки и очереди
  • Графы
  • Двоичное дерево поиска

Бинарное дерево

У каждого дерева есть корень ( root ) и узлы ( node ) Двоичное дерево: - каждый узел имеет не более двух дочерних узлов - левый дочерний узел имеет значение, меньше чем значение родительского узла - правый дочерний узел имеет значение, больше или равное значению родительского узла

Коллекции

Конструктор
var Collection = function ( name, createItem ) {
        this.items = []
        this.name = name || "collection"
        this.itemsCounter = ( function () {
                var counter = 0
                return function ( operationType ) {
                        return Math.abs ( operationType ) !== 1 ? counter : counter += operationType 
                } 
        })()
        this.createItem = typeof createItem === "function" ? createItem : null
}
Collection.prototype.removeItem = function ( itemNum ) {
        if ( itemNum > this.itemsCounter () ) return false
        this.items = this.items.filter ( x => {
                if ( x.index > itemNum ) {
                        --x.index
                }
                return x.index !== itemNum
        })
}
Collection.prototype.addItem = function ( item ) {
        item.index = this.itemsCounter ( 1 )
        this.items.push ( this.createItem ? this.createItem ( item ) : item )
}
Использование

var tags = new Collection ( "elements", function ( params ) { var elem = document.createElement ( params.tagName || "div" ) var parentElement = params.parent || document.body parentElement.appendChild ( elem ) if ( params.id ) elem.id = params.id if ( params.className ) elem.id = params.className elem.innerHTML = params.innerHTML || ""

    if ( params.styles && typeof params.styles === "object" ) {
            for ( var x in params.styles ) {
                    console.log ( x )
                    elem.style [ x ] = params.styles [x]
            }
    }
    return elem

} )

© Irina H.Fylyppova 2018
Использование данных материалов или любой их части коммерческими школами ( курсами ) является нарушением авторских прав


Новая версия


1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19

Занятие 1

⤵️

Занятие 2

⤴️ ⤵️

Занятие 3

⤴️ ⤵️

Занятие 4

⤴️ ⤵️

Занятие 5

⤴️ ⤵️

Занятие 6

⤴️ ⤵️

Занятие 7

⤴️ ⤵️

Занятие 8

⤴️ ⤵️

Занятие 9

⤴️ ⤵️

Занятие 10

⤴️ ⤵️

Занятие 11

⤴️ ⤵️

Занятие 12

⤴️ ⤵️

Занятие 13

⤴️ ⤵️

Занятие 14

⤴️ ⤵️

Занятие 15

⤴️ ⤵️

Занятие 16

⤴️ ⤵️

Занятие 17

⤴️ ⤵️

Занятие 18

⤴️ ⤵️

Занятие 19

⤴️ ⤵️

⤴️

ico20 Дополнительно
dir-20 Справочная инфо

Clone this wiki locally