Elemental Wolf

All generations.

generate functionFri, 21 Apr 2023

la funcion recibe como parametro un arreglo de numeros enteros. cada numero representa la cantidad de habitaciones de una casa proxima a construirse. dentro de la funcion se debe crear un stack para ir almacenando las casas una por una . si el arreglo hay dos casas iguales seguidas debes separarlas moviendo la casa repetida al final de la lista la funcion debe retornar una instancia de stack. la clase ya esta definida con toddos los metodos vistos el string "No hay tipologias repetidas", en el caso de que no haya casas iguales juntas el string "Tipologias inexistentes" en el caso de recibir un arreglo

function Tipologias(arreglo){ if(arreglo.length === 0) return 'Tipologias inexistentes'; const stack = new Stack(); for(let i = 0; i < arreglo.length; i++) { if(stack.length() !== 0 && stack.peek() === arreglo[i]) { stack.pop(); stack.push(arreglo[i]); } else { stack.push(arreglo[i]); } } return stack; }

Javascript
View
generate functionMon, 17 Apr 2023

implementar la clase BinarySearchTree, definiendo los siguientes métodos recursivos: - size: retorna la cantidad total de nodos del árbol - insert: agrega un nodo en el lugar correspondiente - contains: retorna true o false luego de evaluar si cierto valor existe dentro del árbol - depthFirstForEach: recorre el árbol siguiendo el orden depth first (DFS) en cualquiera de sus variantes, según se indique por parámetro ("post-order", "pre-order", o "in-order"). Nota: si no se provee ningún parámetro, hará el recorrido "in-order" por defecto. - breadthFirstForEach: recorre el árbol siguiendo el orden breadth first (BFS) El ábrol utilizado para hacer los tests se encuentra representado en la imagen bst.png dentro del directorio homework.

class BinarySearchTree { constructor(value) { this.value = value; this.left = null; this.right = null; } insert(value) { let newNode = new BinarySearchTree(value); if (value < this.value) { if (!this.left) { this.left = newNode; } else { this.left.insert(value); } } else if (value > this.value) { if (!this.right) { this.right = newNode; } else { this.right.insert(value); } } } contains(value) { if (this.value === value) return true; if (value < this.value) { if (!this.left) return false; else return this.left.contains(value); } else if (value > this.value) { if (!this.right) return false; else return this.right.cont

Javascript
View
generate functionMon, 17 Apr 2023

mplementar la clase BinarySearchTree, definiendo los siguientes métodos recursivos: - size: retorna la cantidad total de nodos del árbol - insert: agrega un nodo en el lugar correspondiente - contains: retorna true o false luego de evaluar si cierto valor existe dentro del árbol - depthFirstForEach: recorre el árbol siguiendo el orden depth first (DFS) en cualquiera de sus variantes, según se indique por parámetro ("post-order", "pre-order", o "in-order"). Nota: si no se provee ningún parámetro, hará el recorrido "in-order" por defecto. - breadthFirstForEach: recorre el árbol siguiendo el orden breadth first (BFS) El ábrol utilizado para hacer los tests se encuentra representado en la imagen bst.png dentro del directorio homework.

class BinarySearchTree { constructor(value) { this.value = value; this.left = null; this.right = null; } }

Javascript
View
generate functionMon, 17 Apr 2023

plementar la clase HashTable. Nuetra tabla hash, internamente, consta de un arreglo de buckets (slots, contenedores, o casilleros; es decir, posiciones posibles para almacenar la información), donde guardaremos datos en formato clave-valor (por ejemplo, {instructora: 'Ani'}). Para este ejercicio, la tabla debe tener 35 buckets (numBuckets = 35). (Luego de haber pasado todos los tests, a modo de ejercicio adicional, pueden modificar un poco la clase para que reciba la cantidad de buckets por parámetro al momento de ser instanciada.) La clase debe tener los siguientes métodos: - hash: función hasheadora que determina en qué bucket se almacenará un dato. Recibe un input alfabético, suma el código numérico de cada caracter del input (investigar el método charCodeAt de los strings) y calcula el módulo de ese número total por la cantidad de buckets; de esta manera determina la posición de la tabla en la que se almacenará el dato. - set: recibe el conjunto clave valor (como dos parámetros distintos), hashea la clave invocando al método hash, y almacena todo el conjunto en el bucket correcto. - get: recibe una clave por parámetro, y busca el valor que le corresponde en el bucket correcto de la tabla. - hasKey: recibe una clave por parámetro y consulta si ya hay algo almacenado en la tabla con esa clave (retorna un booleano).

class HashTable { constructor(numBuckets) { this.buckets = Array(numBuckets); } hash(key) { let total = 0; for (let i = 0; i < key.length; i++) { total += key.charCodeAt(i); } return total % this.buckets.length; } set(key, value) { let index = this.hash(key); if (!this.buckets[index]) this.buckets[index] = []; this.buckets[index].push([key, value]); return index; } get(key) { let index = this.hash(key); if (!this.buckets[index]) return null; for (let i = 0; i < this.buckets[index].length; i++) { if (this.buckets[index][i][0] === key) return this.buckets[index][i][1];

Javascript
View
generate functionFri, 21 Apr 2023

la funcion recibe como parametro un arreglo de numeros enteros. cada numero representa la cantidad de habitaciones de una casa proxima a construirse. dentro de la funcion se debe crear un stack para ir almacenando las casas una por una . si el arreglo hay dos casas iguales seguidas debes separarlas moviendo la casa repetida al final de la lista la funcion debe retornar una instancia de stack. la clase ya esta definida con toddos los metodos vistos el string "No hay tipologias repetidas", en el caso de que no haya casas iguales juntas el string "Tipologias inexistentes" en el caso de recibir un arreglo

var arreglo = [3,3,0,1,1,1,2,2,2,0,0,0,2,2,2,1,1,1,2,2,2,2,2,2] //puedes hacer la funcion en cualquier lenguaje

Javascript
View
generate functionFri, 21 Apr 2023

trabajando como bartender en un evento almacenas en un arbol binario de busqueda la carta con todos los tragos y sus respectivos precios y a pedido de un cliente que quiere ver la carta ordenada alfabeticamente define un metodo de la clase BinarySearchTree que retorne solo los nombres de todos los tragos ordenados de la A a la Z

function bartender(tragos){ if(tragos.length > 1){ var mid = parseInt(tragos.length/2); var left = tragos.slice(0, mid); var right = tragos.slice(mid); return bartender(left).concat(bartender(right)); } return tragos; } var tragos = [ {name:"vodka", price:3.0}, {name:"whisky", price:2.0}, {name:"tequila", price:1.0}, {name:"cerveza", price:2.0} ]; console.log(bartender(tragos));

Javascript
View

Questions about programming?Chat with your personal AI assistant