Podstawy programowania wykład
|
|
- Maria Łukasik
- 6 lat temu
- Przeglądów:
Transkrypt
1 Podstawy programowania wykład Piotr Nowak 1 Instytut Badań Systemowych PAN 1 pnowak@ibspan.waw.pl Piotr Nowak (IBS PAN) Podstawy programowania wykład 1 / 14
2 Program wyk adu Deklaracja drzewa binarnego De nicja drzewa BST Wstawianie i usuwanie elementów z drzewa BST Porz ¾adki zwi ¾azane z drzewem BST ( porz ¾adek inorder, preorder i post order) Minimum i maksimum w drzewie BST Drukowanie drzewa BST Wzbogacanie drzewa BST Ranga elementu PN () Podstawy programowania 05/08 2 / 37
3 Deklaracja drzewa binarnego Do deklaracji drzewa stosujemy struktury. /*Drzewo binarne elementów typu char*/ struct element char val; struct element *left,*right; ; Aby skrócić zapis kodów w dalszej cz ¾eci wyk adu, u zyjemy polecenia typedef: typedef struct element char val; struct element *left,*right; elem; PN () Podstawy programowania 05/08 3 / 37
4 De nicja drzewa BST De nicja Drzewem BST (Binary Search Tree) nazywamy drzewo binarne, spe niajace ¾ nastepujac ¾a¾ w asno sć: W ka zdym poddrzewie element w weźle ¾ jest wiekszy ¾ od wszystkich elementów z jego lewego poddrzewa i mniejszy od wszystkich elementów z jego prawego poddrzewa. PN () Podstawy programowania 05/08 4 / 37
5 Wstawianie elementów do drzewa BST void insert(elem **L,char x) elem *p; if((*l)==null) assert(p=(elem*)malloc(sizeof(elem))); p->left=p->right=null; p->val =x; *L=p; if((*l)->val>x) insert(&((*l)->left),x); if((*l)->val<=x) insert(&((*l)->right),x); PN () Podstawy programowania 05/08 5 / 37
6 Usuwanie elementów z drzewa BST void remove(elem **L) /*usuwanie korzenia*/ elem *k=*l; if(*l!=null) if((*l)->right==null) (*L)=(*L)->left; if((*l)->left==null) (*L)=(*L)->right; k=(*l)->left; while(k->right!=null) k=k->right; k->right=(*l)->right; k=*l; (*L)=(*L)->left; free(k); PN () Podstawy programowania 05/08 6 / 37
7 Usuwanie elementów z drzewa BST void nd_and_remove(elem**l,char x) /*usuwanie elementu x*/ elem *p=null,*k=*l; while(k!=null) if(k->val==x) break; p=k; if(k->val<x) k=k->right; k=k->left; if(k!=null&&k->val==x) if(k==*l) remove(l); if(k==p->left) remove(&(p->left)); remove(&(p->right)); if(*l!=null) printf("there is no such element!nn"); printf("the tree is empty!nn"); PN () Podstawy programowania 05/08 7 / 37
8 Wyszukiwanie w drzewie BST Wersja iteracyjna int searchiter(elem *l,char x) int temp=0; while(l!=null) if((l->val)==x) temp=1; l=null; if((l->val)>x) l=l->left; l=l->right; return temp; PN () Podstawy programowania 05/08 8 / 37
9 Wyszukiwanie w drzewie BST Wersja rekurencyjna int searchrek(elem *l,char x) if(l==null) return 0; if(l->val==x) return 1; if(l->val>x) return searchrek(l->left,x); return searchrek(l->right,x); PN () Podstawy programowania 05/08 9 / 37
10 Porz ¾adki zwi ¾azane z drzewem BST Porz ¾adek inorder void inorder(elem *l) inorder(l->left); printf("%c, ",l->val); inorder(l->right); PN () Podstawy programowania 05/08 10 / 37
11 Porz ¾adki zwi ¾azane z drzewem BST Porz ¾adek preorder void preorder(elem *l) printf("%c, ",l->val); preorder(l->left); preorder(l->right); PN () Podstawy programowania 05/08 11 / 37
12 Porz ¾adki zwi ¾azane z drzewem BST Porz ¾adek postorder void postorder(elem *l) postorder(l->left); postorder(l->right); printf("%c, ",l->val); PN () Podstawy programowania 05/08 12 / 37
13 Minimum i maksimum w drzewie BST Wyszukiwanie adresu elem* ndmin(elem *l) while(l->left!=null) l=l->left; return l; elem* ndmax(elem *l) while(l->right!=null) l=l->right; return l; PN () Podstawy programowania 05/08 13 / 37
14 Minimum i maksimum w drzewie BST Wyszukiwanie wartości char ndminval(elem *l) return ( ndmin(l))->val; return $ ; char ndmaxval(elem *l) return ( ndmax(l))->val; return $ ; PN () Podstawy programowania 05/08 14 / 37
15 Drukowanie drzewa BST void print(elem *l,int s) int i; print(l->right,s+1); for(i=0;i<s;i++) printf( ); printf("%c",l->val); printf("nn"); print(l->left,s+1); PN () Podstawy programowania 05/08 15 / 37
16 Deklaracja wzbogaconego drzewa BST Drzewo BST wzbogacamy o liczb ¾e dzieci. struct wezel char litera; int dzieci; struct wezel *left, *right; ; PN () Podstawy programowania 05/08 16 / 37
17 Ranga elementu int ranga(struct wezel *p,char zn) int pom=0, aga=0; while(p!=null) if((p->litera)==zn) if((p->left)!=null) pom=pom+((p->left)->dzieci); p=null; aga=1; if((p->litera)>zn) p=p->left; if((p->left)!=null) pom=pom+((p->left)->dzieci); pom = pom+1; p=p->right; if( aga) return pom; return -1; PN () Podstawy programowania 05/08 17 / 37
18 #include<stdio.h> #include<stdlib.h> #include<assert.h> #include<time.h> #define N 12 typedef struct element char val; struct element *left,*right; elem ; void insert(elem**,char); void inorder(elem*); void preorder(elem*); void postorder(elem*); void print(elem*,int); void clean(elem**); int searchrek(elem*,char); int searchiter(elem*,char); int heigth(elem*); elem* findmin(elem*); char findminval(elem*); elem* findmax(elem*); char findmaxval(elem*); void remove(elem**); void find_and_remove(elem**,char); int main(void) elem *root=null; char t[n]='k','d','a','e','p','m','z','s','t','v','b','c'; int i=0,j,temp,l; print(root,0); for(i=0;i<n;i++) insert(&root,t[i]); printf("elements of tree: ");inorder(root); printf("\n\n"); printf("elements of tree (preorder): ");preorder(root); printf("\n\n"); printf("elements of tree (postorder): ");postorder(root); printf("\n\n"); printf("the structure of the tree:\n");print(root,0); printf("\n\n"); printf("the heigth of the tree: %d",heigth(root)); printf("\n\n"); printf("min == %c\t Max == %c",findminval(root),findmaxval(root)); printf("\n\n"); srand((unsigned)time(0)); for(i=0;i<n;i++) printf(" \n"); printf("a random element from sequence:\t"); for(j=0;j<n-i;j++)
19 printf("%c,",t[j]); printf("\n"); j=rand()%(n-i); temp=t[j]; printf("element %c chosen to be removed.\n",temp); t[j]=t[n-1-i]; printf("i remove %c:\n",temp); find_and_remove(&root,temp); printf("the structure of the tree:\n");print(root,0); printf("\n\n"); printf("elements of tree (inorder): ");inorder(root); printf("\n\n"); clean(&root); system("pause"); return 0; void insert(elem **L,char x) elem *p; if((*l)==null) assert(p=(elem*)malloc(sizeof(elem))); p->left=p->right=null; p->val =x; *L=p; if((*l)->val>x) insert(&((*l)->left),x); if((*l)->val<=x) insert(&((*l)->right),x); void print(elem *l,int s) int i; print(l->right,s+1); for(i=0;i<s;i++) printf(" "); printf("%c",l->val); printf("\n"); print(l->left,s+1); void inorder(elem *l)
20 inorder(l->left); printf("%c, ",l->val); inorder(l->right); void preorder(elem *l) printf("%c, ",l->val); preorder(l->left); preorder(l->right); void postorder(elem *l) postorder(l->left); postorder(l->right); printf("%c, ",l->val); void clean(elem **L) if(*l!=null) clean(&((*l)->left)); clean(&((*l)->right)); free(*l); *L=NULL; int searchrek(elem *l,char x) if(l==null) return 0; if(l->val==x) return 1; if(l->val>x) return searchrek(l->left,x); return searchrek(l->right,x); int searchiter(elem *l,char x) int temp=0; while(l!=null) if((l->val)==x) temp=1; l=null; if((l->val)>x) l=l->left;
21 l=l->right; return temp; int heigth(elem *l) int h1,h2; if(l==null) return 0; h1=heigth(l->left); h2=heigth(l->right); return h1>h2? h1+1: h2+1; elem* findmin(elem *l) while(l->left!=null) l=l->left; return l; elem* findmax(elem *l) while(l->right!=null) l=l->right; return l; char findminval(elem *l) return (findmin(l))->val; return '$'; char findmaxval(elem *l) return (findmax(l))->val; return '$'; void remove(elem **L) elem *k=*l; if(*l!=null) if((*l)->right==null)
22 (*L)=(*L)->left; if((*l)->left==null) (*L)=(*L)->right; k=(*l)->left; while(k->right!=null) k=k->right; k->right=(*l)->right; k=*l; (*L)=(*L)->left; free(k); void find_and_remove(elem**l,char x) elem *p=null,*k=*l; while(k!=null) if(k->val==x) break; p=k; if(k->val<x) k=k->right; k=k->left; if(k!=null&&k->val==x) if(k==*l) remove(l); if(k==p->left) remove(&(p->left)); remove(&(p->right)); if(*l!=null) printf("there is no such element!\n"); printf("empty!\n");
23 /*Autor: dr Piotr Sapiecha*/ #include<malloc.h> #include<stdio.h> #include<conio.h> struct wezel char litera; int dzieci; struct wezel *left, *right; ; void add(struct wezel * *, char); void inorder(struct wezel *); void dzieci(struct wezel *); void treeprint(struct wezel *,int); char searchk(struct wezel *,int); int searchrek(struct wezel *,char); int searchiter(struct wezel *,char); int ranga(struct wezel *,char); int wysokosc(struct wezel *); int liscie(struct wezel *); void clean(struct wezel**); int main(void) struct wezel *korzen=null; char zn; int x,i,temp; puts("podaj ciag liter zakonczony $:"); while((zn=getche())!='$') add(&korzen,zn); printf("\n\n"); treeprint(korzen,0); printf("\n"); inorder(korzen); x=korzen->dzieci; printf("\n"); printf("\nwysokosc = %d liczba lisci = %d\n", wysokosc(korzen), liscie(korzen)); printf("\n"); puts("podaj ciag liter zakonczony $:"); zn=getche(); while(zn!='$') temp=ranga(korzen,zn); if(temp!=-1) printf("\n\n"); treeprint(korzen,0); printf("ranga(%c)=%d\n\n",zn,temp); printf("\nbrak\n"); zn=getche();
24 printf("\n"); inorder(korzen); printf("\n"); dzieci(korzen); puts("\naby zakonczyc nacisnij ENTER!"); getch(); clean(&korzen); return 0; void add(struct wezel * * p, char w) if((*p)==null) (*p) = new struct wezel; (*p) -> litera = w; (*p) -> left = (*p) -> right = NULL; (*p) -> dzieci = 1; ((*p)->dzieci)++; if((*p)->litera > w) add(&((*p)->left),w); add(&((*p)->right),w); void dzieci(struct wezel *p) if(p!=null) dzieci(p->left); printf("%d,",p->dzieci); dzieci(p->right); free(p); void inorder(struct wezel *p) if(p!=null) inorder(p->left); printf("%c,",p->litera); inorder(p->right); char searchk(struct wezel *p,int k) struct wezel *l,*r; char pom; int temp;
25 if(p!=null) l=p->left; r=p->right; if(l==null && r==null) pom=p->litera; temp=(l->dzieci)+1; if(k==temp) pom=p->litera; if(k< temp) pom=searchk(l,k); if(r!=null && k>temp) pom=searchk(r,k-temp); if(k==1) pom=p->litera; if(r!=null) pom=searchk(r,k-1); return(pom); void treeprint(struct wezel *p,int k) if(p!=null) treeprint(p->right,k+1); for(int i=0;i<k;i++) printf(" "); printf("%c\n",p->litera); treeprint(p->left,k+1); int searchrek(struct wezel *p,char zn) int pom; if(p==null) pom=0; if((p->litera)==zn) pom=1; if((p->litera)>zn) pom=searchrek(p->left,zn); pom=searchrek(p->right,zn); return pom; int searchiter(struct wezel *p,char zn) int pom=0; while(p!=null) if((p->litera)==zn) pom=1; p=null; if((p->litera)>zn) p=p->left; p=p->right;
26 return pom; int ranga(struct wezel *p,char zn) int pom=0; int flaga=0; while(p!=null) if((p->litera)==zn) if((p->left)!=null) pom=pom+((p->left)->dzieci); p=null; flaga=1; if((p->litera)>zn) p=p->left; if((p->left)!=null) pom=pom+((p->left)->dzieci); pom = pom+1; p=p->right; if(flaga) return pom; return -1; int wysokosc(struct wezel *p) int a,b; if(p==null) return 0; a=wysokosc(p->left); b=wysokosc(p->right); if(a < b) return b + 1; return a + 1; int liscie(struct wezel *p) if(p==null) return 0; if(p->left == p->right) return 1; return liscie(p->left) + liscie(p->right); void clean(struct wezel **L) if(*l!=null) clean(&((*l)->left)); clean(&((*l)->right)); free(*l); *L=NULL;
27
Wykład 6. Drzewa poszukiwań binarnych (BST)
Wykład 6 Drzewa poszukiwań binarnych (BST) 1 O czym będziemy mówić Definicja Operacje na drzewach BST: Search Minimum, Maximum Predecessor, Successor Insert, Delete Struktura losowo budowanych drzew BST
Bardziej szczegółowoWYKŁAD 10. Zmienne o złożonej budowie Statyczne i dynamiczne struktury danych: lista, kolejka, stos, drzewo. Programy: c5_1.c, c5_2, c5_3, c5_4, c5_5
WYKŁAD 10 Zmienne o złożonej budowie Statyczne i dynamiczne struktury danych: lista, kolejka, stos, drzewo Programy: c5_1.c, c5_2, c5_3, c5_4, c5_5 Tomasz Zieliński ZMIENNE O ZŁOŻONEJ BUDOWIE (1) Zmienne
Bardziej szczegółowoWysokość drzewa Głębokość węzła
Drzewa Drzewa Drzewo (ang. tree) zbiór węzłów powiązanych wskaźnikami, spójny i bez cykli. Drzewo posiada wyróżniony węzeł początkowy nazywany korzeniem (ang. root). Drzewo ukorzenione jest strukturą hierarchiczną.
Bardziej szczegółowoWykład 2. Drzewa poszukiwań binarnych (BST)
Wykład 2 Drzewa poszukiwań binarnych (BST) 1 O czym będziemy mówić Definicja Operacje na drzewach BST: Search Minimum, Maximum Predecessor, Successor Insert, Delete Struktura losowo budowanych drzew BST
Bardziej szczegółowoWykład X. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2016 Janusz Słupik
Wykład X Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2016 c Copyright 2016 Janusz Słupik Drzewa binarne Drzewa binarne Drzewo binarne - to drzewo (graf spójny bez cykli) z korzeniem (wyróżnionym
Bardziej szczegółowoPodstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno
Instrukcja laboratoryjna 5 Podstawy programowania 2 Temat: Drzewa binarne Przygotował: mgr inż. Tomasz Michno 1 Wstęp teoretyczny Drzewa są jedną z częściej wykorzystywanych struktur danych. Reprezentują
Bardziej szczegółowoDrzewa wyszukiwań binarnych (BST)
Drzewa wyszukiwań binarnych (BST) Krzysztof Grządziel 12 czerwca 2007 roku 1 Drzewa Binarne Drzewa wyszukiwań binarnych, w skrócie BST (od ang. binary search trees), to szczególny przypadek drzew binarnych.
Bardziej szczegółowoZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2014/2015. Drzewa BST c.d., równoważenie drzew, kopce.
POLITECHNIKA WARSZAWSKA Instytut Automatyki i Robotyki ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 204/205 Język programowania: Środowisko programistyczne: C/C++ Qt Wykład 2 : Drzewa BST c.d., równoważenie
Bardziej szczegółowoListy, kolejki, stosy
Listy, kolejki, stosy abc Lista O Struktura danych składa się z węzłów, gdzie mamy informacje (dane) i wskaźniki do następnych węzłów. Zajmuje tyle miejsca w pamięci ile mamy węzłów O Gdzie można wykorzystać:
Bardziej szczegółowoPoprawność semantyczna
Poprawność składniowa Poprawność semantyczna Poprawność algorytmu Wypisywanie zdań z języka poprawnych składniowo Poprawne wartościowanie zdań języka, np. w języku programowania skutki wystąpienia wyróżnionych
Bardziej szczegółowoPorządek symetryczny: right(x)
Porządek symetryczny: x lef t(x) right(x) Własność drzewa BST: W drzewach BST mamy porządek symetryczny. Dla każdego węzła x spełniony jest warunek: jeżeli węzeł y leży w lewym poddrzewie x, to key(y)
Bardziej szczegółowoPodstawy Programowania
drzewo BST #include #include #include #include "BST.h" #include "uni.h" Funkcje pomocnicze #ifndef UNI #define UNI #include #include #include
Bardziej szczegółowo. Podstawy Programowania 2. Drzewa bst - część pierwsza. Arkadiusz Chrobot. 22 maja 2016
.. Podstawy Programowania 2 Drzewa bst - część pierwsza Arkadiusz Chrobot Zakład Informatyki 22 maja 2016 1 / 55 Plan.1 Wstęp.2 Definicje.3 Implementacja Typ bazowy i wskaźnik na korzeń Dodawanie elementu
Bardziej szczegółowoAlgorytmy i Struktury Danych.
Algorytmy i Struktury Danych. Drzewa poszukiwań binarnych. Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 10 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych.
Bardziej szczegółowoALGORYTMY I STRUKTURY DANYCH
ALGORYTMY I STRUKTURY DANYCH Temat 4: Realizacje dynamicznych struktur danych. Wykładowca: dr inż. Zbigniew TARAPATA e-mail: Zbigniew.Tarapata@isi.wat.edu.pl http://www.tarapata.strefa.pl/p_algorytmy_i_struktury_danych/
Bardziej szczegółowoDrzewa poszukiwań binarnych
1 Cel ćwiczenia Algorytmy i struktury danych Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet ielonogórski Drzewa poszukiwań binarnych Ćwiczenie
Bardziej szczegółowoAlgorytmy i Struktury Danych
Algorytmy i Struktury Danych Drzewa poszukiwań binarnych dr hab. Bożena Woźna-Szcześniak Jan Długosz University, Poland Wykład 8 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych Wykład 8 1 /
Bardziej szczegółowoPliki w C/C++ Przykłady na podstawie materiałów dr T. Jeleniewskiego
Pliki w C/C++ Przykłady na podstawie materiałów dr T. Jeleniewskiego 1 /24 Pisanie pojedynczych znaków z klawiatury do pliku #include void main(void) { FILE *fptr; // wkaznik do pliku, tzw. uchwyt
Bardziej szczegółowoczęść 16 struktury rekurencyjne i ich zastosowania drzewa binarne, algorytmy rekurencyjne dla drzew binarnych
Język ANSI C część 16 struktury rekurencyjne i ich zastosowania drzewa binarne, algorytmy rekurencyjne dla drzew binarnych Jarosław Gramacki Instytut Informatyki i Elektroniki rekurencja wiele czynności
Bardziej szczegółowoAlgorytmy i Struktury Danych
Algorytmy i Struktury Danych Drzewa poszukiwań binarnych dr hab. Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 12 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych
Bardziej szczegółowoDrzewo. Drzewo uporządkowane ma ponumerowanych (oznaczonych) następników. Drzewo uporządkowane składa się z węzłów, które zawierają następujące pola:
Drzewa Drzewa Drzewo (ang. tree) zbiór węzłów powiązanych wskaźnikami, spójny i bez cykli. Drzewo posiada wyróżniony węzeł początkowy nazywany korzeniem (ang. root). Drzewo ukorzenione jest strukturą hierarchiczną.
Bardziej szczegółowodr inż. Paweł Myszkowski Wykład nr 11 ( )
dr inż. Paweł Myszkowski Politechnika Białostocka Wydział Elektryczny Elektronika i Telekomunikacja, semestr II, studia stacjonarne I stopnia Rok akademicki 2015/2016 Wykład nr 11 (11.05.2016) Plan prezentacji:
Bardziej szczegółowoUniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych. Algorytmy i struktury danych Laboratorium 7. 2 Drzewa poszukiwań binarnych
Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Algorytmy i struktury danych Laboratorium Drzewa poszukiwań binarnych 1 Cel ćwiczenia Ćwiczenie ma na celu zapoznanie studentów
Bardziej szczegółowoAlgorytmy i złożoności. Wykład 3. Listy jednokierunkowe
Algorytmy i złożoności Wykład 3. Listy jednokierunkowe Wstęp. Lista jednokierunkowa jest strukturą pozwalającą na pamiętanie danych w postaci uporzadkowanej, a także na bardzo szybkie wstawianie i usuwanie
Bardziej szczegółowoDynamiczny przydział pamięci w języku C. Dynamiczne struktury danych. dr inż. Jarosław Forenc. Metoda 1 (wektor N M-elementowy)
Rok akademicki 2012/2013, Wykład nr 2 2/25 Plan wykładu nr 2 Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia niestacjonarne I stopnia Rok akademicki 2012/2013
Bardziej szczegółowoSTRUKTURY DANYCH I ZŁOŻONOŚĆ OBLICZENIOWA STRUKTURY DANYCH I ZŁOŻONOŚĆ OBLICZENIOWA. Część 3. Drzewa Przeszukiwanie drzew
STRUKTURY DANYCH I ZŁOŻONOŚĆ OBLICZENIOWA Część 3 Drzewa Przeszukiwanie drzew 1 / 24 DRZEWA (ang.: trees) Drzewo struktura danych o typie podstawowym T definiowana rekurencyjnie jako: - struktura pusta,
Bardziej szczegółowoWykład 7 Abstrakcyjne typy danych słownik (lista symboli)
Wykład 7 Abstrakcyjne typy danych słownik (lista symboli) Definicja słownika: Słownik (tablica lub lista symboli) to struktura danych zawierająca elementy z kluczami, która pozwala na przeprowadzanie dwóch
Bardziej szczegółowoWYKŁAD 8. Funkcje i algorytmy rekurencyjne Proste przykłady. Programy: c3_1.c..., c3_6.c. Tomasz Zieliński
WYKŁAD 8 Funkcje i algorytmy rekurencyjne Proste przykłady Programy: c3_1.c..., c3_6.c Tomasz Zieliński METODY REKURENCYJNE (1) - program c3_1 ======================================================================================================
Bardziej szczegółowoAbstrakcyjne struktury danych w praktyce
Abstrakcyjne struktury danych w praktyce Wykład 13 7.4 notacja polska A.Szepietowski Matematyka dyskretna rozdział.8 stos kompilacja rozłączna szablony funkcji Przypomnienie Drzewo binarne wyrażenia arytmetycznego
Bardziej szczegółowoALGORYTMY I STRUKTURY DANYCH
ALGORYTMY I STRUKTURY DANYCH Temat : Drzewa zrównoważone, sortowanie drzewiaste Wykładowca: dr inż. Zbigniew TARAPATA e-mail: Zbigniew.Tarapata@isi.wat.edu.pl http://www.tarapata.strefa.pl/p_algorytmy_i_struktury_danych/
Bardziej szczegółowoWykład 2. Drzewa zbalansowane AVL i 2-3-4
Wykład Drzewa zbalansowane AVL i -3-4 Drzewa AVL Wprowadzenie Drzewa AVL Definicja drzewa AVL Operacje wstawiania i usuwania Złożoność obliczeniowa Drzewa -3-4 Definicja drzewa -3-4 Operacje wstawiania
Bardziej szczegółowoStos LIFO Last In First Out
Stos LIFO Last In First Out Operacje: push - dodanie elementu na stos pop - usunięcie elementu ze stosu empty - sprawdzenie, czy stos jest pusty size - zwrócenie liczby elementów na stosie value (peek)
Bardziej szczegółowoRozwiązanie. #include <cstdlib> #include <iostream> using namespace std;
Programowanie C++ Zadanie 1 Napisz program do obliczenia sumy i iloczynu ciągu liczb zakooczonego liczbą zero. Zakładamy, że ciąg zawiera co najmniej jedną liczbę (założenie to jest konieczne przy obliczeniu
Bardziej szczegółowoDrzewa BST i AVL. Drzewa poszukiwań binarnych (BST)
Drzewa ST i VL Drzewa poszukiwań binarnych (ST) Drzewo ST to dynamiczna struktura danych (w formie drzewa binarnego), która ma tą właściwość, że dla każdego elementu wszystkie elementy w jego prawym poddrzewie
Bardziej szczegółowoWyszukiwanie w BST Minimalny i maksymalny klucz. Wyszukiwanie w BST Minimalny klucz. Wyszukiwanie w BST - minimalny klucz Wersja rekurencyjna
Podstawy Programowania 2 Drzewa bst - część druga Arkadiusz Chrobot Zakład Informatyki 12 maja 2016 1 / 8 Plan Wstęp Wyszukiwanie w BST Minimalny i maksymalny klucz Wskazany klucz Zmiany w funkcji main()
Bardziej szczegółowoInformacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char
Programowanie C++ Informacje wstępne #include - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char = -128 do 127, unsigned char = od
Bardziej szczegółowoOgólne wiadomości o grafach
Ogólne wiadomości o grafach Algorytmy i struktury danych Wykład 5. Rok akademicki: / Pojęcie grafu Graf zbiór wierzchołków połączonych za pomocą krawędzi. Podstawowe rodzaje grafów: grafy nieskierowane,
Bardziej szczegółowoCo nie powinno być umieszczane w plikach nagłówkowych:
Zawartość plików nagłówkowych (*.h) : #include #define ESC 27 dyrektywy dołączenia definicje stałych #define MAX(x,y) ((x)>(y)?(x):(y)) definicje makr int menu(char* tab[], int ilosc); struct
Bardziej szczegółowoAlgorytmy i. Wykład 5: Drzewa. Dr inż. Paweł Kasprowski
Algorytmy i struktury danych Wykład 5: Drzewa Dr inż. Paweł Kasprowski pawel@kasprowski.pl Drzewa Struktury przechowywania danych podobne do list ale z innymi zasadami wskazywania następników Szczególny
Bardziej szczegółowoDrzewa podstawowe poj
Drzewa podstawowe poj ecia drzewo graf reprezentujacy regularna strukture wskaźnikowa, gdzie każdy element zawiera dwa lub wiecej wskaźników (ponumerowanych) do takich samych elementów; wez ly (albo wierzcho
Bardziej szczegółowoDrzewo binarne BST. LABORKA Piotr Ciskowski
Drzewo binarne BST LABORKA Piotr Ciskowski zadanie 1. drzewo binarne - 1 Zaimplementuj drzewo binarne w postaci: klasy Osoba przechowującej prywatne zmienne: liczbę całkowitą to będzie klucz, wg którego
Bardziej szczegółowoProgramowanie proceduralne INP001210WL rok akademicki 2015/16 semestr letni. Wykład 6. Karol Tarnowski A-1 p.
Programowanie proceduralne INP001210WL rok akademicki 2015/16 semestr letni Wykład 6 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411b Plan wykładu Operacje wejścia-wyjścia Dostęp do plików Struktury
Bardziej szczegółowoWykład 9 - struktury rekurencyjne uporządkowane
Wykład - struktury rekurencyjne uporządkowane 1. Zstępujące drzewa 2--4 2. Drzewa wyważone czerwono-czarne. B-drzewa - - wyszukiwanie zewnętrzne Autor: Zofia Kruczkiewicz, p.25 C USM, 1 Algorytmy i struktury
Bardziej szczegółowoRekurencyjne struktury danych
Andrzej Jastrz bski Akademia ETI Dynamiczny przydziaª pami ci Pami, która jest przydzielana na pocz tku dziaªania procesu to: pami programu czyli instrukcje programu pami statyczna zwi zana ze zmiennymi
Bardziej szczegółowoAlgorytmy i struktury danych Struktury danych - drzewa IS/IO, WIMiIP
Algorytmy i struktury danych Struktury danych - drzewa IS/IO, WIMiIP Danuta Szeliga AGH Kraków Drzewo Drzewo (tree) Drzewo jest hierarchiczną strukturą danych. Def. Drzewo jest to zbiór T jednego lub więcej
Bardziej szczegółowoPrzypomnij sobie krótki wstęp do teorii grafów przedstawiony na początku semestru.
Spis treści 1 Drzewa 1.1 Drzewa binarne 1.1.1 Zadanie 1.1.2 Drzewo BST (Binary Search Tree) 1.1.2.1 Zadanie 1 1.1.2.2 Zadanie 2 1.1.2.3 Zadanie 3 1.1.2.4 Usuwanie węzła w drzewie BST 1.1.2.5 Zadanie 4
Bardziej szczegółowoWstęp. #define include include include include include include
1 FW WSTĘP 1 1. Wstęp. Przedstawiany tu program po wczytaniu tekstu ze standardowego wejścia wypisuje uporządkowaną alfabetycznie listę słów wraz z liczbą ich wystąpień w podanym tekście. Przez słowo rozumiemy
Bardziej szczegółowo. Podstawy Programowania 2. Drzewa bst - część druga. Arkadiusz Chrobot. 12 maja 2019
.. Podstawy Programowania 2 Drzewa bst - część druga Arkadiusz Chrobot Zakład Informatyki 12 maja 2019 1 / 39 Plan.1 Wstęp.2 Wyszukiwanie w BST Minimalny i maksymalny klucz Wskazany klucz.3.4 Zmiany w
Bardziej szczegółowoProgramowanie komputerów. Jacek Lach Zakład Oprogramowania Instytut Informatyki Politechnika Śląska
Programowanie komputerów Jacek Lach Zakład Oprogramowania Instytut Informatyki Politechnika Śląska Plan Dynamiczne struktury danych Lista jednokierunkowa Lista dwukierunkowa Lista podwieszana Graf Drzewa
Bardziej szczegółowoWykład 1_2 Algorytmy sortowania tablic Sortowanie bąbelkowe
I. Struktury sterujące.bezpośrednie następstwo (A,B-czynności) Wykład _2 Algorytmy sortowania tablic Sortowanie bąbelkowe Elementy języka stosowanego do opisu algorytmu Elementy Poziom koncepcji Poziom
Bardziej szczegółowoTypy złożone. Struktury, pola bitowe i unie. Programowanie Proceduralne 1
Typy złożone Struktury, pola bitowe i unie. Programowanie Proceduralne 1 Typy podstawowe Typy całkowite: char short int long Typy zmiennopozycyjne float double Modyfikatory : unsigned, signed Typ wskaźnikowy
Bardziej szczegółowonp. dla p=1 mamy T1(N) N/2 średni czas chybionego wyszukiwania z prawdopodobieństwem q:
Wykład 4 Wyszukiwania w tablicach posortowanych 1. Wyszukiwanie sekwencyjne w tablicy posortowanej 2. Wyszukiwanie binarne bez powtórzeń 3. Wyszukiwanie binarne z powtórzeniami 1 2 3 4 5 6 7 8 9 10 11
Bardziej szczegółowoDrzewa binarne. Drzewo binarne to dowolny obiekt powstały zgodnie z regułami: jest drzewem binarnym Jeśli T 0. jest drzewem binarnym Np.
Drzewa binarne Drzewo binarne to dowolny obiekt powstały zgodnie z regułami: jest drzewem binarnym Jeśli T 0 i T 1 są drzewami binarnymi to T 0 T 1 jest drzewem binarnym Np. ( ) ( ( )) Wielkość drzewa
Bardziej szczegółowoWstęp do programowania
Wieczorowe Studia Licencjackie Wrocław, 9.01.2007 Wstęp do programowania Wykład nr 13 Listy usuwanie elementów Poniżej prezentujemy funkcję, która usuwa element o podanej wartości pola wiek z nieuporządkowanej
Bardziej szczegółowoPodstawy programowania 1
Podstawy programowania 1 Krzysztof Grudzień kgrudzi@kis.p.lodz.pl Wykład nr 2 1 Plan spotkań Wskaźniki Tablice jednowymiarowe & wska źniki. Programowanie w C. Wikibooks 2 Co to jest wskaźnik?? Wskaźnik
Bardziej szczegółowoWykład 6_1 Abstrakcyjne typy danych stos Realizacja tablicowa i za pomocą rekurencyjnych typów danych
Wykład 6_ Abstrakcyjne typy danych stos Realizacja tablicowa i za pomocą rekurencyjnych typów danych Abstrakcyjny typ danych Klient korzystający z abstrakcyjnego typu danych: o ma do dyspozycji jedynie
Bardziej szczegółowoWykład 8. Drzewa AVL i 2-3-4
Wykład 8 Drzewa AVL i 2-3-4 1 Drzewa AVL Ø Drzewa AVL Definicja drzewa AVL Operacje wstawiania i usuwania Złożoność obliczeniowa Ø Drzewa 2-3-4 Definicja drzewa 2-3-4 Operacje wstawiania i usuwania Złożoność
Bardziej szczegółowoPodstawy Informatyki. Metody dostępu do danych
Podstawy Informatyki c.d. alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 Bazy danych Struktury danych Średni czas odszukania rekordu Drzewa binarne w pamięci dyskowej 2 Sformułowanie
Bardziej szczegółowoProgramowanie dynamiczne, a problemy optymalizacyjne
Programowanie dynamiczne, a problemy optymalizacyjne W procesie opracowywania algorytmu programowania dynamicznego dla problemu optymalizacji wyróżniamy etapy: Etap1. Określenie właściwości rekurencyjnej,
Bardziej szczegółowoMateriał uzupełniający do ćwiczen z przedmiotu: Programowanie w C ++ - ćwiczenia na wskaźnikach
Materiał uzupełniający do ćwiczen z przedmiotu: Programowanie w C ++ - ćwiczenia na wskaźnikach 27 kwietnia 2012 Wiedząc, że deklarowanie typu rekordowego w języku C/ C++ wygląda następująco: struct element
Bardziej szczegółowoProgramowanie obiektowe i C++ dla matematyków
Programowanie obiektowe i C++ dla matematyków Bartosz Szreder szreder (at) mimuw... X 0 Typy złożone Oczywiście w C++ możemy definiować własne typy złożone (struktury i klasy), tak jak w Pascalu poprzez
Bardziej szczegółowoProgramowanie obiektowe i C++ dla matematyków
Programowanie obiektowe i C++ dla matematyków Bartosz Szreder szreder (at) mimuw... 22 XI 2011 Uwaga! Ponieważ już sobie powiedzieliśmy np. o wskaźnikach i referencjach, przez które nie chcemy przegrzebywać
Bardziej szczegółowoINFORMATYKA. Podstawy programowania w języku C. (Wykład) Copyright (C) 2005 by Sergiusz Sienkowski IME Zielona Góra
INFORMATYKA Podstawy programowania w języku C (Wykład) Copyright (C) 2005 by Sergiusz Sienkowski IME Zielona Góra INFORMATYKA Temat: Struktury dynamiczne Wykład 7 Struktury dynamiczne lista jednokierunkowa,
Bardziej szczegółowoAlgorytmy i Struktury Danych.
Algorytmy i Struktury Danych. Liniowe struktury danych - Lista uporzadkowana. Wartownicy. Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 6 Bożena Woźna-Szcześniak (AJD)
Bardziej szczegółowoEtap 2 - Budowa interfejsu. typedef struct ELEMENT* stos; struct ELEMENT { dane Dane; stos Nastepny; }; struct kolejka { stos Poczatek, Koniec; };
Wykład 6_2 Abstrakcyjne typy danych kolejki. Implementacja za pomocą tablicy i rekurencyjnej struktury danych czyli listy wiązanej Etap 1 - Opis ADT Nazwa typu: Kolejka elementów Własności typu: Potrafi
Bardziej szczegółowoAlgorytmy sortowania w języku C. Autor: mgr inż. Sławomir Samolej. Zagadnienie 1. (Sortowanie)
emat zajęć: Algorytmy sortowania w języku C Autor: mgr inż. Sławomir Samolej Zagadnienie 1. (Sortowanie) Kolejne zadania dotyczyć będą najprostszych w realizacji algorytmów sortowania. Algorytmy sortowania
Bardziej szczegółowoTeoretyczne podstawy informatyki
Teoretyczne podstawy informatyki Wykład 6a Model danych oparty na drzewach 1 Model danych oparty na drzewach Istnieje wiele sytuacji w których przetwarzane informacje mają strukturę hierarchiczną lub zagnieżdżoną,
Bardziej szczegółowoProgramowanie Proceduralne
Programowanie Proceduralne Struktury Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 10 Co dziś będzie: Definiowanie struktury Deklarowanie zmiennych bȩda cych strukturami
Bardziej szczegółowoEGZAMIN MAGISTERSKI, Biomatematyka
Biomatematyka 90...... Zadanie 1. (8 punktów) Liczebność pewnej populacji ryb jest opisana następującym równaniem Rickera: N n+1 = α N n exp( βn n ), (1) w którym N n oznacza liczebność populacji w n tej
Bardziej szczegółowoLab 8. Tablice liczbowe cd,. Operacje macierzowo-wektorowe, memcpy, memmove, memset. Wyrażenie warunkowe.
Języki i paradygmaty programowania 1 studia stacjonarne 2018/19 Lab 8. Tablice liczbowe cd,. Operacje macierzowo-wektorowe, memcpy, memmove, memset. Wyrażenie warunkowe. 1. Wektory i macierze: a. Przykład
Bardziej szczegółowo#include <stdio.h> void main(void) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }
OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;
Bardziej szczegółowoProgramowanie i projektowanie obiektowe
Programowanie i projektowanie obiektowe Klasy i obiekty Paweł Daniluk Wydział Fizyki Jesień 2011 P. Daniluk (Wydział Fizyki) PO w. V Jesień 2011 1 / 13 Typy danych (w Javie) Typy pierwotne typ wartości
Bardziej szczegółowoWykłady opracowane zostały w oparciu o materiały prof. dr hab. Jerzego Weresa. Poznań 2009/2010 Algorytmy i struktury danych Krzysztof Nowakowski 2
Wykłady opracowane zostały w oparciu o materiały prof. dr hab. Jerzego Weresa Poznań 2009/2010 Algorytmy i struktury danych Krzysztof Nowakowski 2 Struktura danych (ang. data structure) sposób uporządkowania
Bardziej szczegółowoDrzewa czerwono-czarne.
Binboy at Sphere http://binboy.sphere.p l Drzewa czerwono-czarne. Autor: Jacek Zacharek Wstęp. Pojęcie drzewa czerwono-czarnego (red-black tree) zapoczątkował Rudolf Bayer w książce z 1972 r. pt. Symmetric
Bardziej szczegółowoProgramowanie Procedurale
Programowanie Procedurale Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 6 Bożena Woźna-Szcześniak (AJD) Programowanie Procedurale Wykład 6 1 / 27 Zbiór ctime zawiera deklarcję
Bardziej szczegółowoProste typy zmiennych języka C++ *) Zapis 3.4 e-38 jest równoważny zapisowi 3,
WYKŁAD 1. PODSTAWY 1_1. Typy zmiennych Proste typy zmiennych języka C++ Nazwa typu (nazwa skrócona) Rozmiar (bajtów) unsigned char 1 signed char (char) unsigned short int (unsigned) signed short int (int)
Bardziej szczegółowoAlgorytmy i struktury danych Struktury danych IS/IO, WIMiIP
Algorytmy i struktury danych Struktury danych IS/IO, WIMiIP Danuta Szeliga AGH Kraków Spis treści I 1 Wstęp Pojęcia podstawowe Abstrakcyjne typ danych Statyczna/dynamiczna struktura danych 2 Statyczne
Bardziej szczegółowoTemat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.
Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. 1. Rodzaje pamięci używanej w programach Pamięć komputera, dostępna dla programu,
Bardziej szczegółowoint tab_a [ 2 ] [ 3 ];
// PROGRAM 4_1 - Przyklady dynamicznego tworzenia // i usuwania tablicy dwuwymiarowej int [2][3] #include void main(void) //------------------------------ Przyklad A -------------------------------------------
Bardziej szczegółowoINSTRUKCJE REPETYCYJNE PĘTLE
INSTRUKCJE REPETYCYJNE PĘTLE Pętla while( ) while ( wyrażenie ) instrukcja; while ( wyrażenie ) instrukcja_1; instrukcja_2;... instrukcja_n; Pętla wykonywana jest tak długo jak wartość wyrażenie jest różna
Bardziej szczegółowoLista liniowa dwukierunkowa
53 Lista liniowa dwukierunkowa Jest to lista złożona z elementów, z których każdy posiada, oprócz wskaźnika na element następny, również wskaźnik na element poprzedni. Zdefiniujmy element listy dwukierunkowej
Bardziej szczegółowoStruktury dynamiczne
Struktury dynamiczne lista jednokierunkowa lista dwukierunkowa lista cykliczna stos kolejka drzewo Ich wielkość i stopień złożoności zmieniają się w czasie. Struktury dynamiczne oparte są o struktury (struct).
Bardziej szczegółowoTABLICE W JĘZYKU C/C++ typ_elementu nazwa_tablicy [wymiar_1][wymiar_2]... [wymiar_n] ;
Ogólna postać definicji tablicy: TABLICE W JĘZYKU C/C++ typ_elementu nazwa_tablicy [wymiar_1][wymiar_2]... [wymiar_n] ; np. int tablica [ 10 ]; // 10-cio elementowa tablica liczb całkowitych char tekst
Bardziej szczegółowoMETODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się
Bardziej szczegółowoPodstawy Programowania C 02
Podstawy Programowania C 02 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 5 7 4 8 x y wx wy zmienna zmienna adres x adres y int x,y,pom; int wx, wy; x=5; y=7; printf("\nx=%d\ty=%d\n",x,y);
Bardziej szczegółowoPodstawy programowania C. dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/
Podstawy programowania C dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/ Tematy Struktura programu w C Typy danych Operacje Instrukcja grupująca Instrukcja przypisania Instrukcja warunkowa Struktura
Bardziej szczegółowoŁańcuchy znaków. Agnieszka Nowak - Brzezińska
Łańcuchy znaków Agnieszka Nowak - Brzezińska Warto najpierw zajrzeć http://gpl.ii.us.edu.pl/~romex/pp_cxx/pp_cxx_w_07.pdf Wszystkie funkcje są omówione w wykładzie! Etap I Napisz program w całości na tablicach
Bardziej szczegółowoWykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik
Wykład VII Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Kompilacja Kompilator C program do tłumaczenia kodu źródłowego na język maszynowy. Preprocesor
Bardziej szczegółowoStruktury Danych i Złożoność Obliczeniowa
Struktury Danych i Złożoność Obliczeniowa Zajęcia 3 Struktury drzewiaste drzewo binarne szczególny przypadek drzewa, które jest szczególnym przypadkiem grafu skierowanego, stopień każdego wierzchołka jest
Bardziej szczegółowoUzupełnienie dot. przekazywania argumentów
Uzupełnienie dot. przekazywania argumentów #include #include struct nowa { int f; char line[20000]; int k; } reprezentant; int main() { void funkcja7( struct nowa x); reprezentant.k=17;
Bardziej szczegółowoAlgorytmy i struktury danych. wykład 5
Plan wykładu: Wskaźniki. : listy, drzewa, kopce. Wskaźniki - wskaźniki Wskaźnik jest to liczba lub symbol który w ogólności wskazuje adres komórki pamięci. W językach wysokiego poziomu wskaźniki mogą również
Bardziej szczegółowoIX. Wskaźniki.(3 godz.)
Opracowała: dr inż. Anna Dubowicka Uczelniane Centrum Komputerowe PK IX. Wskaźniki.(3 godz.) Wskaźnik jest zmienną, która zawiera adres innej. 1. Definiowanie wskaźników. typ * nazwa ; gdzie: znak * informuje
Bardziej szczegółowoALGORYTMY I STRUKTURY DANYCH
LGORTM I STRUKTUR DNH Temat 6: Drzewa ST, VL Wykładowca: dr inż. bigniew TRPT e-mail: bigniew.tarapata@isi.wat.edu.pl http://www.tarapata.strefa.pl/p_algorytmy_i_struktury_danych/ Współautorami wykładu
Bardziej szczegółowoPodstawy Informatyki. Wykład 6. Struktury danych
Podstawy Informatyki Wykład 6 Struktury danych Stałe i zmienne Podstawowymi obiektami występującymi w programie są stałe i zmienne. Ich znaczenie jest takie samo jak w matematyce. Stałe i zmienne muszą
Bardziej szczegółowoJęzyki i paradygmaty programowania 1 studia stacjonarne 2018/19
Języki i paradygmaty programowania 1 studia stacjonarne 2018/19 Lab 4. Podstawowe biblioteki. Pętle. Operatory inkrementacji, dekrementacji, przypisania. Instrukcje goto, continue, break. Operacje na plikach.
Bardziej szczegółowotablica: dane_liczbowe
TABLICE W JĘZYKU C/C++ tablica: dane_liczbowe float dane_liczbowe[5]; dane_liczbowe[0]=12.5; dane_liczbowe[1]=-0.2; dane_liczbowe[2]= 8.0;... 12.5-0.2 8.0...... 0 1 2 3 4 indeksy/numery elementów Tablica
Bardziej szczegółowotyp_zwracanej_wartości nazwa_funkcji(lista deklaracji argumentów) { ciało(treść) funkcji return Val; //zwracana wartość }
Języki i paradygmaty programowania studia stacjonarne 208/9 Lab 3. Funkcje, argumenty funkcji, wskaźniki, adresy.. Podstawowe pojęcia: Funkcja w C (czasami nazywana podprogramem, rzadziej procedurą) to
Bardziej szczegółowoJęzyki i paradygmaty programowania 1 studia stacjonarne 2018/19. Lab 9. Tablice liczbowe cd,. Operacje na tablicach o dwóch indeksach.
Języki i paradygmaty programowania 1 studia stacjonarne 2018/19 Lab 9. Tablice liczbowe cd,. Operacje na tablicach o dwóch indeksach. 1. Dynamiczna alokacja pamięci dla tablic wielowymiarowych - Przykładowa
Bardziej szczegółowoAlgorytmy i struktury danych. Drzewa: BST, kopce. Letnie Warsztaty Matematyczno-Informatyczne
Algorytmy i struktury danych Drzewa: BST, kopce Letnie Warsztaty Matematyczno-Informatyczne Drzewa: BST, kopce Definicja drzewa Drzewo (ang. tree) to nieskierowany, acykliczny, spójny graf. Drzewo może
Bardziej szczegółowoWykład 3. Drzewa czerwono-czarne
Wykład 3 Drzewa czerwono-czarne 1 Drzewa zbalansowane Wprowadzenie Drzewa czerwono-czarne Definicja, wysokość drzewa Rotacje, operacje wstawiania i usuwania Literatura Cormen, Leiserson, Rivest, Wprowadzenie
Bardziej szczegółowo