Analiza Algoritmilor

Referat
8/10 (1 vot)
Conține 1 fișier: docx
Pagini : 8 în total
Cuvinte : 752
Mărime: 128.37KB (arhivat)
Publicat de: Sabina Suciu
Puncte necesare: 6

Extras din referat

Analiza algoritmilor

1. Să se genereze o matrice pătratică de dimensiune n cu elementele 1,2,…,n2 așezate în spirală.

Exemplu pentru o matrice de dimensiune 4: .

import java.util.Scanner;

import java.util.Scanner;

public class M19 {

public static void genereazaMatriceSpirala(int[][] M){

int n = M.length;

int patrate;

int ns = n/2; //impartire

if (n % 2 == 0) patrate = ns; //daca avem dimensiune para vor fi n/2 patrate in interiorul matricii

else patrate = ns + 1; //daca avem dimensiune impara vor fi n/2+1, deoarece elementul "1" din mijloc va constitui un patrat

//o adunare daca dimensiunea este impara

int j;

int k = n;

int element = n*n; //inmultire

if (k==1) M[0][0]=1;

else

for (int i = 0; i < patrate; i++) {

if(k==1){ M[ns][ns]=1; break;}

// linia de jos

for (j = 0; j < k; j++) {

M[n - 1 - i][i + j] = element--;

}

// coloana din dreapta

for (j = k-2; j >0 ; j--) {

M[i + j][n - 1 - i] = element--;

}

// linia de sus

for (j = k-1; j >= 0; j--) {

M[i][i + j] = element--;

}

// coloana din stanga

for (j = 1; j <k-1; j++) {

M[i + j][i] = element--;

}

k -= 2; //dimensiunea scade cu 2, adica s-a efectuat un contur complet de patrat

}

}

static void afisareMatrice(int[][] M,String mesaj) {

System.out.println(mesaj);

for (int i = 0; i < M.length; i++) {

for (int j = 0; j < M[i].length; j++) {

System.out.format("%5d", M[i][j]);

}

System.out.println();

}

}

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

System.out.print("Scrieti dimensiunea matricei:");

int dim = sc.nextInt();

int[][] M = new int[dim][dim];

genereazaMatriceSpirala(M);

afisareMatrice(M,"Matricea generata in spirala:").

Preview document

Analiza Algoritmilor - Pagina 1
Analiza Algoritmilor - Pagina 2
Analiza Algoritmilor - Pagina 3
Analiza Algoritmilor - Pagina 4
Analiza Algoritmilor - Pagina 5
Analiza Algoritmilor - Pagina 6
Analiza Algoritmilor - Pagina 7
Analiza Algoritmilor - Pagina 8

Conținut arhivă zip

  • Analiza Algoritmilor.docx

Alții au mai descărcat și

Java - Tehnologia JINI

Dupa cum se stie, limbajul Java îsi trage radacinile dintr-un proiect al firmei Sun început înca din 1990 si condus de James Gostling. Proiectul a...

Pagini Web Dinamice cu PHP

Pagini Web dinamice cu PHP Ce este PHP? Un limbaj de scripting ce combina concepte de Perl, Java si C, facand ca invatarea acestuia sa fie foarte...

Utilizarea Thread-urilor în Applet-uri și Servlet-uri Java

Utilizarea thread-urilor în applet-uri şi servlet-uri Java 1. Delimitări conceptuale Spre deosebire de alte limbaje de programare (C/C++), Java...

Hackeri

Hackerii sunt pasionati ai informaticii, care, de obicei au ca scop „spargerea” anumitor coduri, baze de date, pagini web etc. Ei sunt considerati...

Curs Java

Introducere Scurt istoric Limbajul Java împreună cu mediul său de dezvoltare şi execuţie au fost proiectate pentru a rezolva o parte dintre...

Introducere Java

Programele sunt dezvoltate (concepute, editate, compilate, verificate) de catre programatori, si executate (folosite) de catre utilizatori....

Te-ar putea interesa și

Arbori Huffman - Implementare în C++

INTRODUCERE În lucrarea de fața tratez metodele Huffman de codificare și comprimare a datelor, necesare pentru elaborarea unor algoritmi optimi...

Algoritmi Polinomiali de Generare a Submulțimilor Discrete Finite

-Introducere- Motivul alegerii acestei lucrări este de a înţelege mai bine cum un algoritm matematic de generare poate fi implementat în cadrul...

Data mining în afaceri

1. Analiza componentelor principale3 În această primă parte a proiectului am aplicat analiza componentelor principale (ACP) pe o matrice de date...

Analiza Algoritmilor Genetici

I. Analiza algoritmilor genetici 1.1. Algoritmi evoluţionişti Algoritmii evoluţionişti au la bază câteva principii ale evoluţiei: supravieţuirea...

Analiza algoritmilor

Analiza algoritmilor Complexitatea algoritmilor Estimarea necesarului de memorie Masurarea timpului de executie Estimarea timpului cerut de...

Proiectarea programului - driver de gestionare a schimbului de date între două calculatoare prin intermediul portului paralel LPTL

Adnotare Memoriul explicativ conţine rezultatele obţinute pe parcursul procesului de proiectare şi implementare a programului. În memoriul...

Complexitatea calculului Shell Sort

1. Introducere Analiza matematică a complexităţii algoritmilor poate fi dificilă în cazul unor algoritmi care nu sunt simpli, mai ales dacă este...

Proiectarea și Analiza Algoritmilor

//Varianta A: Arbori B :structura , cel mai lung cuvant,cel mai mare cuvant din arbore. #define N 2 #define M 4 //Strunctura necesara pentru...

Ai nevoie de altceva?