papalagui não tem tempo

Não bastava o papalagui estar constantemente insatisfeito com o que tem e o que é, quis também controlar o que é incontrolável: o tempo. Sendo assim dividiu o tempo em segundos, minutos e horas, criou calendários e programas de agendamento das mais infinas tarefas, que regista meticulosamente, controlando, cronometrando e esquematizando quase compulsivamente. Hoje o papalagiu trabalha em milissegundos e criou disciplinas como gestão de tempo, transformando tudo em trabalho. O objectivo é termos tudo especificado com vista sermos trabalhadores eficientes, bons amigos, dedicados à família, cuidarmos do corpo, sermos inteligentes, ricos e bem sucedidos... tudo tem o seu tempo, desde que seja devidamente calendarizado. As tuas vontades ou necessidades terão que ficar para depois caso entrem em conflito com algum dos agendamentos previamente marcados, se tens perto dos 30 e ainda não fizeste uma nesga daquilo que sonhaste fazer... temos pena, porque para hoje e amanha e os próximos anos já tens coisas marcadas, aquilo a que chamas vida.

estruturas de dados

O modo como percepcionamos aquilo que nos rodeia e as alternativas que formulamos para aprender mais conhecimentos são extremamente influenciados pela linguagem, de igual modo, num contexto especifico de um problema temos que analisar a linguagem sobre o qual o mesmo está inserido de modo a adequarmos a resolução do problema mediante o paradigma existente e respeitarmos as convenções.

Em computação temos pois que encontrar a linguagem que mais se adequa ao nosso problema e às nossas necessidade, uma linguagem de programação é uma notação para escrever problemas. Todavia, se procuramos uma resposta fiável para o nosso problema, não temos apenas que escolher por esta ou aquela linguagem, temos também que analisar os dados e estrutura-los da forma mais eficiente possível, com vista alcançarmos o algoritmo ideal. Estruturar dados não é mais do que armazenar e organizar dados para serem usados de uma forma eficiente, manipulados por algoritmos. As estruturas de dados definem a organização, métodos de acesso e opções de processamento para a informação ser manipulada pelo programa.

São várias as estruturas de dados, entre as mais clássicas destaco:

[ vectores (array) ] estruturas de dados estáticas de dimensão fixa e finita que armazenam elementos do mesmo tipo;

[ listas (list) ] sequencia de elementos do mesmo tipo onde a ordem de inserção é relevante;

[ pilhas (stack) ] estrutura de informação linear, a informação é armazenada de modo a aceder ao ultimo elemento inserido (LIFO - last in frist out);

[ filas (queue) ] semelhantes às pilhas contudo a informação é armazenada de forma a aceder somente ao primeiro elemento inserido (FIFO - frist in frist out);

[ conjuntos (set) ] colecção sem repetições de objectos de um determinado universo/tipo. estes objectos são designados por membros ou elementos do conjunto;

[ árvores (tree) ] estruturas de dados não lineares. A arvore pode ser vazia (estrutura vazia) ou ter um nó principal (raiz/root) e um numero finito de subarvores;

[ árvores binárias (binary tree) ] são tipos de árvores com grau 2, ou seja, contém apenas duas sub-árvores; a sub-arvore da esquerda e a sub-arvore da direita;

[ grafos ] Os grafos são uma forma de modelar os problemas. Um grafo G=(V,E) consiste em cum conjunto V de vértices e um conjunto E de pares de vértices ou arestas. Grafos podem ser utilizados para modelar uma variedade de estruturas e relações;

[ tabelas ] são estruturas de dados que armazenam um conjunto finito de registos(records). Cada registo é constituído por um par de valores, a chave(identifica univocamente o elemento) um elemento (de um dado tipo que contém a informação que se quer guardar.



“The art of programming is the art of organizing complexity,of mastering multitude and avoiding its bastard chaos” - E. Dijkstra