pues sin mas que decir aqui les presento este video que me encontre, esta historia animada es de Fred, el origamiste experimental, que renunció al mundo con sus manos.
Que lo disfruten
Lic.informatica,Tecnologico de Zacatepec
# mkdir /media/Windows
# mount -t ntfs-3g /dev/sdaX /media/Windows
sdaX será la partición que montaremos, hay que cambiar la X por el número
de la partición y Windows será el directorio que creamos para montarla.
# nano /etc/fstab
le agregaremos la siguiente linea al final:
/dev/sda
X
/media/Windows ntfs-3g defaults,locale=es_ES.UTF8 0 0
Guardamos con Ctrl+o
y listo
Lic.informatica,Tecnologico de Zacatepec
Lic.informatica,Tecnologico de Zacatepec
Arellano Bello Gilberto Jesus |
Lic.informatica,Tecnologico de Zacatepec |
Arellano Bello Gilberto Jesus |
Lic.informatica,Tecnologico de Zacatepec |
public void mostrarArbol(NodoArbol raiz,String n){
if(raiz==null)
return;
n+="\t";
mostrarArbol(raiz.getDerecho(),n);
System.out.println(n+"("+raiz.getDato()+") <");
mostrarArbol(raiz.getIzquierdo(),n);
}
Arellano Bello Gilberto Jesus |
Lic.informatica,Tecnologico de Zacatepec |
Árbol binario de búsqueda en el que para cada nodo, las alturas de sus subárboles izquierdo y derecho no difieren en más de 1.con el objetivo de maximizar el tiempo de acceso en búsqueda.
Basándose en el siguiente algoritmo:
Rotación derecha
1.- Se busca nodo padre de raíz (padre) (FIG. 1.0)
2.-Nodo a toma la referencia de nodo izquierdo de raíz (FIG. 1.0)
3.-Hijos derechos de nodo a pasan a ser de nodo izquierdo de raíz (FIG. 1.1)
4.-Nodo a apunta en su brazo derecho a raíz (FIG. 1.1)
5.-Padre de nodo raíz apunta a nodo a (FIG. 1.2)
FIG. 1.0 FIG 1.1
FIG 1.2
Rotación Izquierda
1.- Se busaca nodo padre de raíz (padre) (FIG. 1.0)
2.-Nodo a toma la referencia de nodo derecho de raíz (FIG. 1.0)
3.-Hijos Izquierdos de nodo a pasan a ser de nodo derecho de raíz (FIG. 1.1)
4.-Nodo a apunta en su brazo izquierdo a raíz (FIG. 1.1)
5.-Padre de nodo raíz apunta a nodo a (FIG. 1.2)
Fig. 1.0 Fig. 1.1
Fig. 1.2
Composición de Nodo en árbol AVL
Cada nodo, además de la información que se pretende almacenar, debe tener los dos punteros a los árboles derecho e izquierdo, igual que los árboles binarios de búsqueda (ABB), y además el dato que controla el factor de equilibrio.
Explicación de factor de equilibrio
El factor de equilibrio es la diferencia entre las alturas del árbol derecho y el izquierdo:
FE = altura subárbol derecho - altura subárbol izquierdo;
Donde la diferencia obtenida por definición de este árbol debe ser -1, 0, 1
Composición grafica del nodo:
Arellano Bello Gilberto Jesus |
Lic.informatica,Tecnologico de Zacatepec |
Compilar código fuente
Hay que buscar el codigo fuente del programa que se desea instalar. Este lo enocntraremos comprimido en .tar.bz2 o en .tar.gz
Para hacer un ejemplo en este tutorial instalaremos pidgin que bajamos el codigo fuente de la pagina oficial
Lo más recomendable es leer el archivo install que viene comprimido junto con el paquete pues ahí seguramente tendremos una guía rápida de instalación también.
1.- Descomprimir paquete
Descomprimimos primero el paquete. Para ello nos dirigimos a el directorio en donde lo descargamos.
# cd Desktop/
y lo descomprimimos con:
# tar -xjvf archivo.tar.gz2
para los .tar.gz2 y
# tar -xvzf archivo.tar.gz
para los .tar.gz
2.-Configurar
Nos dirigimos al directorio creado al descomprimir.
#cd nuevoDirectorio/
ya ahí ejecutamos el archivo configure de la siguiente manera:
# ./configure
Puede suceder que el proceso de configuración no se complete y que requiera de algún paquete extra o desabilitar ciertas opciones de lo que estamos instalando pero siempre tendremos información de lo que nos haga falta.
Para este caso la respuesta que manda es:
configure: error:
XScreenSaver extension development headers not found.
Use --disable-screensaver if you do not need XScreenSaver extension support,
this is required for detecting idle time by mouse and keyboard usage.
Podemos instalar los paquetes necesarios para solucionar este problema:
# apt-get install libstartup-notification0 libstartup-notification0-dev libxss-dev
O Desabilitar la opción:
#./configure --disable-screensaver
Cuando la configuración sea correcta obtendremos un mensaje parecido a el siguiente:
configure complete, now type 'make'
Carlos Alberto Silva Ramírez
Lic. Filosofía,UAEM
Arellano Bello Gilberto Jesus |
Lic.informatica,Tecnologico de Zacatepec |
Arellano Bello Gilberto Jesus |
Lic.informatica,Tecnologico de Zacatepec |
«viruzCorp»
Update de un registro asignando valor en la misma instrucción sql(Statement) , usando clausula where
public void updateInTable(String key,String a){
//establecemos las variables necesarias
Statement instruccion;
String orden_SQL;
try{
//definimos driver
Class.forName("com.mysql.jdbc.Driver");
//parametros bd=base de datos, usr=usuario, ""=password
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/bd","usr","");
instruccion= con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
//definimos intruccion a campo se le asignara el valor de la variable
//a de acuerdo a la especificación where
orden_SQL = "UPDATE nameTable SET campo='"+a+"' where campo="+key;
//ejecutamos instruccion
instruccion.executeUpdate(orden_SQL);
//liberamos recursos
instruccion.close();
con.close();
}catch(Exception ex){JOptionPane.showMessageDialog(null,"Error",
"Advertencia",JOptionPane.INFORMATION_MESSAGE);}
}
Nótese la instrucción "UPDATE nameTable SET campo='"+a+"' where campo="+key; considerar que todos los que coincidan con la especificación where seran modificados.
Update de un registro asignando valor fuera de la instrucción sql(PreparedStatement) , usando clausula where
public void updateInTable( String key) {
//definimos variables
PreparedStatement pstmt;
Connection con = null;
try {
//establecemos conexion ver arriba( ejemplo 1)
con = DriverManager.getConnection("jdbc:mysql://localhost/bd","usr","");
//preparamos la instruccion
pstmt = con.prepareStatement("update nameTable set campo = ? where campo='" +key+"'");
//definimos el valor
pstmt.setString(1,"valor");
//ejecutamos actualizacion
pstmt.executeUpdate();
//liberamos recursos
pstmt.close();
con.close();
}catch (Exception e) {e.getMessage();}}
Nótese la instrucción "update nameTable set campo = ? where campo=" +key considerar que todos los que coincidan con la especificación where seran modificados.
Como ya se dijo antes la instrucción pstmt.setString(1,”valor”); (corresponde a la rama de los metodos setxxx(); ) , asi tambien se puede modificar el valor 1, por el nombre de la columna o campo.
Arellano Bello Gilberto Jesus |
Lic.informatica,Tecnologico de Zacatepec |