3er Parcial Flashcards

(38 cards)

1
Q

¿Esta función regresa true si la lista está vacía?

int isListEmpty() {
return head!= NULL;
}
A

FALSO

para que sea verdadero, necesitaría decir head==NULL;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

¿Este código utiliza correctamente malloc?

struct Node *createNewNode(int newData){
struct Node *newNode = malloc(sizeof(struct Node));
newNode->data= newData; 
newNode->next=NULL;
free(newNode);
return NULL;
}
A

FALSO

Se libera free(newNode) antes de que malloc pueda retornarlo y da NULL

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

¿Es correcto este algoritmo para liberar una lista de memoria?

void freeList() {
struct Node *current = head; 
while(current!=NULL){
free(current); 
current=current->next;
}
head=NULL; 
}
A

FALSO

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

¿Es correcto este algoritmo para liberar una lista de memoria?

void freeList() {
struct Node *current = head; 
while(current!=NULL){
struct Node *temp =current; 
current=current->next; 
free(temp); 
}
head=NULL; 
}
A

FALSO (chat dice VERDADERO)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

¿Esta función regresa true si la lista está vacía?

int isListEmpty() {
return head==NULL|| head->next==NULL;
}
A

FALSO

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

¿El apuntador anterior (previous) sigue correctamente al anterior del actual (current)?

void traverseList() {
struct Node *current=head; 
while (current!=NULL) 
{printf("%d", current->data); 
current=current->next;
}
}
A

FALSO

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

¿El apuntador anterior (previous) sigue correctamente al anterior del actual (current)?
```void traverseList() {
struct Node *current=head;
struct Node *previous =NULL;

while (current!=NULL)
{
previous = current;
current= current->next;
printf(“%d”, previous->data);
}
}
~~~

A

VERDADERO

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

¿El apuntador (previous) sigue correctamente al anteiror del actual (current)?

void traverseList() {
struct Node *current=head; 
while (current!=NULL) 
{printf("%d", current->data); 
current=current->head;
}
A

FALSO

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

¿Este código utiliza correctamente malloc?

struct Node *createNewNode(int newData){
struct Node *newNode = malloc(sizeof(struct Node));
if (newNode!=NULL) {
newNode->data=newData;
newNode->next=NULL;
}
return newNode; 
}
A

VERDADERO

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

¿Es correcto este algoritmo para buscar en una lista?

struct Node *searchNode(int searchData) {
struct Node *current = head; 
while(current !=NULL && current->data != searchData) {
current=current->next;
}
return current;
}
A

VERDADERO

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

¿Esta definición de estructura define correctamente al apuntador a siguiente nodo?

struct Node {
int data; 
struct Node next;
};
A

FALSO

Falta el apuntador

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

¿Este algoritmo es correcto para insertar en lista al inicio?
```struct Node{
int data;
struct Node *next; };
struct Node *head=NULL;

void insertAtBeginning(int newData){
struct Node *newNode=malloc(sizeof(struct Node));
newNode->data=newData;
newNode->next=head;
head=newNode;
}```

A

VERDADERO

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

¿Este código utiliza correctamente malloc?

struct Node *createNewNode(int newData){
struct Node *newNode = malloc(sizeof(newNode));
newNode->data= newData; 
newNode->next=NULL;
return newNode;
}
A

FALSO

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

¿Es correcto este algoritmo para liberar una lista de memoria?
~~~
void freeList() {
struct Node *current = head;
while(current!=NULL){
struct Node *temp= current->next;
free(current);
current=temp;
}
head=NULL;
}
~~~

A

VERDADERO

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

¿Es correcto este algoritmo para insertar ordenado?

void insertInOrder(int newData) {
struct Node *newNode=malloc(sizeof(struct Node));
newNode->data=newData;
newNode->next=NULL;

struct Node *current = head; 
while(current!=NULL && current->next!=NULL) {
current=current->next; 
}
current->next=newNode;
}
A

FALSO

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

¿El apuntador anterior (previous) sigue correctamente al anterior del actual (current)?

void traverseList() {
struct Node *current=head; 
struct Node *previous =head; 

while (current!=NULL) 
{
printf("%d", current->data);
current=previous->next; 
previous=current;
}
}
17
Q

¿Es correcto este algoritmo para insertar ordenado?

void insertInOrder(int newData) {
struct Node *newNode=malloc(sizeof(struct Node));
newNode->data=newData;
newNode->next=head;
head=newNode;
}
18
Q

¿Es correcto este algoritmo para insertar en lista al final?

void insertAtEnd(int newData) 
{ struct Node *newNode = malloc(sizeof(struct Node));
newNode->data=newData;
newNode->next= head->next;

head->next=newNode; 
19
Q

¿Es correcto este algoritmo para insertar en lista al final?

void insertAtEnd(int newData) {
struct Node *newNode = malloc(siezeof(struct Node));
newNode->data =newData;
newNode->next=head;
head=newNode;
}
20
Q

¿Es correcto este algoritmo para buscar en una lista?

struct Node *searchNode(int searchData) {
struct Node *current = head; 
while(current !=NULL= {
if(current->data>searchData){
return current; 
}
current=current->next;
}
return NULL;
}
21
Q

¿Esta función regresa true si la lista está vacía?

int isListEmpty() {
return head!= NULL;
}
22
Q

¿Este algoritmo Bubblesort es correcto?
~~~
void bubbleSort (int arr[], int n) {
for (int i =0; i<n-1; i++) {
for (int j=0; j<n-i-1; j++) {
if(arr[j]>arr[j+1]) {
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}}}}
~~~

23
Q

¿Es correcto este algoritmo para liberar una lista en memoria?

void freeList(){
if(head==NULL) {
return; 
}
struct node *current =head;
struct Node *nextNode =NULL; 
while {current!=NULL){
nextNode=current->next; 
free(current);
current=nextNode;
}
head=NULL;
}
24
Q

¿Esta función regresa true si la lista está vacía?
~~~
int isListEmpty(){
return head==NULL;
}
~~~

25
¿Es correcto este algoritmo para insertar ordenado? ``` void insertInOrder(int newData) { struct Node *newNode=malloc(sizeof(struct Node)); newNode->data=newData; newNode->next=NULL; if(head==NULL||(head)->data <= newData){ newNode->next=head; head=newNode; } else { struct Node *current=head; while(current->next !=NULL &¤t->data>newData){ current=current->next; } current->next=newNode; } } ```
FALSO
26
¿Es correcto este algoritmo para buscar en una lista? ``` struct Node *searchNode(int searchData) { struct Node *current =head; while(current != NULL){ if(current->data==searchData){ return current; } current = current->next; } return NULL; } ```
VERDADERO
27
¿Puedes acceder a la variable dentro del struct si el apuntador al struct es igual a NULL?
FALSO
28
¿Es correcto este algoritmo para insertar en lista al final? ``` void insertAtEnd(int newData) { struct Node *newNode = malloc(sizeof(struct Node)); newNode->data=newData; newNode->next= NULL; if(head==NULL) { head=newNode; } else { struct Node *current = head; while(current->next!=NULL) { current=current->next; } current->next=newNode; }} ```
VERDADERO
29
¿Es correcto este algoritmo para buscar en una lista? ``` struct Node *searchNode(int searchData) { struct Node *current = head; if(current==NULL || current->data>searchData) { return NULL; } while (current->next !=NULL) { if(current->next->data==searchData){ return current->next; } current=current->next; } return NULL; } ```
FALSO
30
¿Es correcto este algoritmo para insertar en lista al final? ``` void insertAtEnd(int newData) { struct Node *current = head; if(current == NULL || current->data>searchData){ return NULL; } while(current->next !=NULL) { if(current->next->data == searchData) { return current->next; } current = current->next; } return NULL; } ```
FALSO
31
¿El apuntador anterior (previous) sigue correctamente al anterior del actual (current)? ``` void traverseList() { struct Node *current = head; struct Node *previous =NULL; while(current !=NULL) { printf("%d", current->data); previous=current; current->current->next; } } ```
FALSO
32
¿Esta definición de estructura define correctamente el apuntador a siguiente nodo? ``` struct Node { int data; struct Node *next; }; ```
VERDADERO
33
¿Es correcto este algoritmo para insertar ordenado? ``` void insertInOrder(int newData) { struct Node *newNode=malloc(sizeof(struct Node)); newNode->data=newData; newNode->next=NULL; struct Node *current = head; if(current==NULL|| current->data >newData){ newNode->next=current; head=newNode; } else{ while(current->next!=NULL && current->next->datanext; } newNode->next=current->next; current->next=newNode; } } ```
VERDADERO
34
¿Este código utiliza correctamente malloc? ``` struct Node *createNewNode(int NewData){ struct Node *newNode; newNode = (struct Node*) malloc(sizeof(Node)); newNode->data=newData; newNode->next=NULL; return newNode; } ```
FALSO
35
¿Una Queue (Fila, Cola Línea) es UEPS (LIFO)?
FALSO
36
¿Una pila (stack) es UEPS (LIFO)?
VERDADERO | Una pila funciona de modo que el último en entrar es el primero en salir
37
¿Una Queue (Fila, Cola Línea) es PEPS (FIFO)?
VERDADERO | como en una fila del banco, el primero en entrar, es el primero en salir
38
¿Una pila (stack) es PEPS (FIFO)?
FALSO