infiniteDistance = $infiniteDistance; $this -> map = &$ourMap; $this -> numberOfNodes = count($ourMap); $this -> bestPath = 0; $this -> city_array = $city_array; } function findShortestPath($start,$to) { $this -> startnode = $start; foreach ($this -> map as $key => $value) { $this -> visited[$key] = false; $this -> distance[$key] = isset($this -> map[$this -> startnode][$key]) ? $this -> map[$this -> startnode][$key]: $this -> infiniteDistance; $this -> previousNode[$key] = $this -> startnode; } $this -> visited[$this -> startnode] = true; $this -> distance[$this -> startnode] = 0; $this->current_node=$this -> startnode; $this->sorted_distance = $this->distance; unset($this->sorted_distance[$this -> startnode]); $maxTries = $this -> numberOfNodes; $tries = 0; while (in_array(false,$this -> visited,true) && $tries <= $maxTries) { $this -> bestPath = $this->findBestPath(); if($this -> bestPath == $to) break; $this -> updateDistanceAndPrevious($this -> bestPath); $this -> visited[$this -> bestPath] = true; $tries++; } } function findBestPath($ourNodesLeft=array()) { asort($this->sorted_distance); foreach ($this->sorted_distance as $key =>$value) break; unset($this->sorted_distance[$key]); return $key; } function updateDistanceAndPrevious($obp) { if (is_array($this -> city_array[$obp][neighbors])){ foreach ($this -> city_array[$obp][neighbors] as $key => $value) { if( (($this->distance[$obp] + $this->map[$obp][$value]) < $this -> distance[$value]) && (isset($this->map[$obp][$value])) ) { $this -> distance[$value] = $this -> distance[$obp] + $this -> map[$obp][$value]; $this -> sorted_distance[$value] = $this -> distance[$value]; $this -> previousNode[$value] = $obp; } } } } function getResults($to) { if ($to==0) return array(); $ourShortestPath = array(); $endNode = null; $currNode = $to; $ourShortestPath[] = $to; $i=0; while ($endNode === null || $endNode != $this -> startnode) { $ourShortestPath[] = $this -> previousNode[$currNode]; $endNode = $this -> previousNode[$currNode]; $currNode = $this -> previousNode[$currNode]; $i++; if ($i>=1000) return array();//exit when circle } $ourShortestPath = array_reverse($ourShortestPath); if($this -> distance[$to] >= $this -> infiniteDistance) return array(); return $ourShortestPath; } } ?> ЦКМ КПІ

Афіша

Події в ЦКМ КПІ

Grand Rock Piano Show

2020-01-19

19:00

Grand Rock Piano Show

ХОР ВЕРЕВКИ

2019-05-29

19:00

ХОР ВЕРЕВКИ

GRAND ROCK PIANO SHOW

2019-04-12

19:00

GRAND ROCK PIANO SHOW

Dakh Daughters

2019-04-06

19:00

Dakh Daughters

ДЕНЬ ЯПОНІЇ

2018-09-07

13:17

ДЕНЬ ЯПОНІЇ

ДЕНЬ ЗНАНЬ

2018-08-31

15:00

ДЕНЬ ЗНАНЬ

Adam Gontier

2018-04-13

19:00

Adam Gontier

DETACH

2018-03-10

19:00

DETACH

Ліга сміху

2018-02-14

19:00

Ліга сміху

Open Kids

2017-12-02

16:00

Open Kids

W.A.S.P.

2017-11-28

20:00

W.A.S.P.

25-річчя ФММ

2017-03-28

15:00

25-річчя ФММ

ВІА "ПІСНЯРИ"

2017-03-25

19:00

ВІА

85-річчя ТЕФ

2017-03-02

15:00

85-річчя ТЕФ

Мистер КПІ

2016-12-14

18:00

Мистер КПІ

Comedy Show

2016-11-04

19:00

Comedy Show

Notre Dame de Paris

2016-10-07

19:00

Notre Dame de Paris

Ліга сміху

2016-09-30

19:00

Ліга сміху

Бродвей ШОУ

2016-06-15

19:00

Бродвей ШОУ

Бродвей ШОУ

2016-06-15

19:00

Бродвей ШОУ

Фикси ШОУ

2016-06-11

11:00

Фикси ШОУ

70-річчя ІЕЕ

2016-06-03

16:00

70-річчя ІЕЕ

Даха Браха

2016-06-02

19:00

Даха Браха

Фикси ШОУ

2016-04-03

11:00

Фикси ШОУ

Фикси ШОУ

2016-04-02

11:00

Фикси ШОУ

Фикси ШОУ

2016-04-02

11:00

Фикси ШОУ

ОПЕРА IYOV

2016-03-01

19:00

ОПЕРА IYOV

ВИА "ПЕСНЯРЫ"

2016-02-25

19:00

ВИА

BROADWAY SHOW

2016-02-14

19:00

BROADWAY SHOW

Dakh Daughters Band

2015-12-24

19:00

Dakh Daughters Band

Ліга сміху

2015-12-17

19:00

Ліга сміху

Ліга сміху.

2015-12-15

19:00

Ліга сміху.

МІСТЕР "КПІ"

2015-12-08

19:00

МІСТЕР

Ліга сміху

2015-09-29

19:00

Ліга сміху

lviv jazz orchestra

2015-05-14

19:00

lviv jazz orchestra