Skip to content

Instantly share code, notes, and snippets.

Mariano Giagante mgiagante

  • Freelancer
  • Argentina
Block or report user

Report or block mgiagante

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View arbolBinarioTest.java
package tp04.ejercicio1;
import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.Test;
public class ArbolBinarioTest {
private ArbolBinario<Integer> arbolBinarioTest;
View pseudocodigo ABB
add(punto)
if (mi nivel es par)
if (el x del punto a agregar es < que mi propio x)
this.hijoIzquierdo() == null ? this.agregarHijoIzquierdo(punto) : this.hijoIzquierdo().add(punto)
else
this.hijoDerecho() == null ? this.agregarHijoDerecho(punto) : this.hijoIzquierdo().add(punto)
if (mi nivel es impar)
if (el y del punto a agregar es < que mi propio y)
this.hijoIzquierdo() == null ? this.agregarHijoIzquierdo(punto) : this.hijoIzquierdo().add(punto)
else
View gist:60615ea4a419c817b5d4d69ad5272802
class Parcial {
public ListaGenerica<Vertice<T>> maxBottleneckPath(Grafo<T> g) {
ListaGenerica<ListaGenerica<Vertice<T>>> caminos = new ListaGenerica<ListaGenerica<Vertice<T>>>();
boolean[] visitados;
agregarCaminos(g, indice_s, indice_t, visitados, caminos);
return selectMaxBottleneckPath(caminos)
}
public selectMaxBottleneckPath(paths) { //comparar los pesos de las aristas con menor peso de cada camino
View que_imprime.rb
VALUE = 'global'
module A
VALUE = 'A'
class B
VALUE = 'B'
def self.value
VALUE
View conditional_assignment_benchmark.rb
require 'benchmark'
executions = 100_000_000
Benchmark.bm do |conditional_assignment|
conditional_assignment.report { executions.times do a ||= 1; end }
conditional_assignment.report { executions.times do a = a || 1; end }
end
=begin
View countable.rb
# TODO: Cómo hago que funcione con métodos que reciben parámetros?
# Referencia: http://www.railstips.org/blog/archives/2009/05/15/include-vs-extend-in-ruby/
module Countable
module ClassMethods
def count_invocations_of(sym)
alias_method "original_#{sym}".to_sym, sym
define_method(sym) do
start_counter
View template_method_example.rb
class Pie
def make
add_main_ingredient
add_secondary_ingredients
cook
add_toppings
let_cool
end
def add_ingredient(ingredient)
View Semaphores 1B
sem free_detectors = 3 // Cantidad de detectores libres a cada instante
sem allocation = 1 // Limita la cantidad de personas que buscan ascensor al mismo tiempo
// Declara un arreglo de 0 a n-1 de booleans inicializados como false en todas sus posiciones.
// Representa los detectores valiendo para cada uno true si está ocupado o false si está libre.
boolean detector_taken[0:n-1] = ([n] false)
process Person[w = 1 to 100] {
p(free_detectors)
View Critical section 4
// Declara 2 arreglos de 0 a n-1 de booleans inicializados como false en todas sus posiciones.
boolean permissions[0:n-1] = ([n] false)
boolean requesters[0:n-1] = ([n] false)
process Coordinator {
while true {
int i = 0
while !requesters[i] { // Barre repetidamente el arreglo buscando un proceso que esté pidiendo entrar a su sección crítica.
i = (i + 1) MOD n
}
View semaphores_4.txt
assignment assignments[40] = ([40] nil) // Inicializa las tareas en nulo.
error_report corrections[40] = ([40] nil) // Inicializa las correcciones en nulo.
boolean has_left[40] = ([40] false) // Indica si el alumno se ha ido.
boolean doing_assignment[40] = ([40] false) // Indica si el alumno i esta ocupado haciendo tarea.
sem can_do_assignment[40] = ([40] 0)
sem can_see_correction[40] = ([40] 0)
sem can_check_assignment = 0 // Alumnos esperando corrección
You can’t perform that action at this time.