Árbol-B

Ejemplo de árbol B.

En las ciencias de la computación, los árboles-B o B-árboles son estructuras de datos de árbol que se encuentran comúnmente en las implementaciones de bases de datos y sistemas de archivos. Al igual que los árboles binarios de búsqueda, son árboles balanceados de búsqueda, pero cada nodo puede poseer más de dos hijos.[1]​ Los árboles B mantienen los datos ordenados y las inserciones y eliminaciones se realizan en tiempo logarítmico amortizado.

Definición

La idea tras los árboles-B es que los nodos internos deben tener un número variable de nodos hijo dentro de un rango predefinido. Cuando se inserta o se elimina un dato de la estructura, la cantidad de nodos hijo varía dentro de un nodo. Para que siga manteniéndose el número de nodos dentro del rango predefinido, los nodos internos se juntan o se parten. Dado que se permite un rango variable de nodos hijo, los árboles-B no necesitan rebalancearse tan frecuentemente como los árboles binarios de búsqueda auto-balanceables. Pero, por otro lado, pueden desperdiciar memoria, porque los nodos no permanecen totalmente ocupados. Los límites (uno superior y otro inferior) en el número de nodos hijo son definidos para cada implementación en particular. Por ejemplo, en un árbol-B 2-3 (A menudo simplemente llamado árbol 2-3 ), cada nodo sólo puede tener 2 o 3 nodos hijos.

Un árbol-B se mantiene balanceado porque requiere que todos los nodos hoja se encuentren a la misma altura.

Los árboles B tienen ventajas sustanciales sobre otras implementaciones cuando el tiempo de acceso a los nodos excede al tiempo de acceso entre nodos. Este caso se da usualmente cuando los nodos se encuentran en dispositivos de almacenamiento secundario como los discos rígidos. Al maximizar el número de nodos hijo de cada nodo interno, la altura del árbol decrece, las operaciones para balancearlo se reducen, y aumenta la eficiencia. Usualmente este valor se coloca de forma tal que cada nodo ocupe un bloque de disco, o un tamaño análogo en el dispositivo. Mientras que los árboles B 2-3 pueden ser útiles en la memoria principal, y además más fáciles de explicar, si el tamaño de los nodos se ajusta para caber en un bloque de disco, el resultado puede ser un árbol B 129-513.

Los creadores del árbol B, Rudolf Bayer y Ed McCreight, no han explicado el significado de la letra B de su nombre. Se cree que la B es de balanceado, dado que todos los nodos hoja se mantienen al mismo nivel en el árbol. La B también puede referirse a Bayer, o a Boeing, porque sus creadores trabajaban en los Boeing Scientific Research Labs por ese entonces.

Definición técnica

B-árbol es un árbol de búsqueda que puede estar vacío o aquel cuyos nodos pueden tener varios hijos, existiendo una relación de orden entre ellos, tal como muestra el dibujo.

Un árbol-B de orden M (el máximo número de hijos que puede tener cada nodo) es un árbol que satisface las siguientes propiedades:

  1. Cada nodo tiene como máximo M hijos.
  2. Cada nodo (excepto raíz) tiene como mínimo (M)/2 claves.
  3. La raíz tiene al menos 2 hijos si no es un nodo hoja. (según M)
  4. Todos los nodos hoja aparecen al mismo nivel.
  5. Un nodo no hoja con k hijos contiene k-1 elementos almacenados.
  6. Los hijos que cuelgan de la raíz (r1, ···, rm) tienen que cumplir ciertas condiciones:
    1. El primero tiene valor menor que r1.
    2. El segundo tiene valor mayor que r1 y menor que r2, etc.
    3. El último hijo tiene valor mayor que rm.

Altura: El mejor y el peor caso

En el mejor de los casos, la altura de un árbol-B es:

En el peor de los casos, la altura de un árbol-B es:

Donde M es el número máximo de hijos que puede tener un nodo.

Estructura de los nodos

Cada elemento de un nodo interno actúa como un valor separador, que lo divide en subárboles. Por ejemplo, si un nodo interno tiene tres nodos hijo, debe tener dos valores separadores o elementos a1 y a2. Todos los valores del subárbol izquierdo deben ser menores a a1, todos los valores del subárbol del centro deben estar entre a1 y a2, y todos los valores del subárbol derecho deben ser mayores a a2.

Los nodos internos de un árbol B, es decir los nodos que no son hoja, usualmente se representan como un conjunto ordenado de elementos y punteros a los hijos. Cada nodo interno contiene un máximo de U hijos y, con excepción del nodo raíz, un mínimo de L hijos. Para todos los nodos internos exceptuando la raíz, el número de elementos es uno menos que el número de punteros a nodos. El número de elementos se encuentra entre L-1 y U-1. El número U debe ser 2L o 2L-1, es decir, cada nodo interno está por lo menos a medio llenar. Esta relación entre U y L implica que dos nodos que están a medio llenar pueden juntarse para formar un nodo legal, y un nodo lleno puede dividirse en dos nodos legales (si es que hay lugar para subir un elemento al nodo padre). Estas propiedades hacen posible que el árbol B se ajuste para preservar sus propiedades ante la inserción y eliminación de elementos.

Los nodos hoja tienen la misma restricción sobre el número de elementos, pero no tienen hijos, y por tanto carecen de punteros.

El nodo raíz tiene límite superior de número de hijos, pero no tiene límite inferior. Por ejemplo, si hubiera menos de L-1 elementos en todo el árbol, la raíz sería el único nodo del árbol, y no tendría hijos.

Un árbol B de altura n+1 puede contener U veces por elementos más que un árbol B de profundidad n, pero el costo en la búsqueda, inserción y eliminación crece con la altura del árbol. Como todo árbol balanceado, el crecimiento del costo es más lento que el del número de elementos.

Algunos árboles balanceados guardan valores sólo en los nodos hoja, y por lo tanto sus nodos internos y nodos hoja son de diferente tipo. Los árboles B guardan valores en cada nodo, y pueden utilizar la misma estructura para todos los nodos. Sin embargo, como los nodos hoja no tienen hijos, una estructura especial para estos mejora el funcionamiento.

Class nodo árbol B en c++
#define TAMANO 1000

struct stclave {
    int valor;
    long registro;
};

class bnodo {
  public:
    bnodo (int nClaves); // Constructor
    ~bnodo ();           // Destructor

  private:
    int clavesUsadas;    
    stclave *clave;      
    bnodo **puntero;     
    bnodo *padre;        

  friend class btree;
};

Algoritmos

Búsqueda

La búsqueda es similar a la de los árboles binarios. Se empieza en la raíz, y se recorre el árbol hacia abajo, escogiendo el sub-nodo de acuerdo a la posición relativa del valor buscado respecto a los valores de cada nodo. Típicamente se utiliza la búsqueda binaria para determinar esta posición relativa.

Procedimiento
ejemplo2 inserción en árbol B.
  1. Situarse en el nodo raíz.
  2. (*) Comprobar si contiene la clave a buscar.
    1. Encontrada fin de procedimiento.
    2. No encontrada:
      1. Si es hoja no existe la clave.
      2. En otro caso el nodo actual es el hijo que corresponde:
        1. La clave a buscar k < k1: hijo izquierdo.
        2. La clave a buscar k > ki y k < ki+1 hijo iésimo.
        3. Volver a paso 2(*).

Inserción

Las inserciones se hacen en los nodos hoja.

  1. Realizando una búsqueda en el árbol, se halla el nodo hoja en el cual debería ubicarse el nuevo elemento.
  2. Si el nodo hoja tiene menos elementos que el máximo número de elementos legales, entonces hay lugar para uno más. Inserte el nuevo elemento en el nodo, respetando el orden de los elementos.
  3. De otra forma, el nodo debe ser dividido en dos nodos. La división se realiza de la siguiente manera:
    1. Se escoge el valor medio entre los elementos del nodo y el nuevo elemento.
    2. Los valores menores que el valor medio se colocan en el nuevo nodo izquierdo, y los valores mayores que el valor medio se colocan en el nuevo nodo derecho; el valor medio actúa como valor separador.
    3. El valor separador se debe colocar en el nodo padre, lo que puede provocar que el padre sea dividido en dos, y así sucesivamente.

Si las divisiones de nodos suben hasta la raíz, se crea una nueva raíz con un único elemento como valor separador, y dos hijos. Es por esto por lo que la cota inferior del tamaño de los nodos no se aplica a la raíz. El máximo número de elementos por nodo es U-1. Así que debe ser posible dividir el número máximo de elementos U-1 en dos nodos legales. Si este número fuera impar, entonces U=2L, y cada uno de los nuevos nodos tendrían (U-2)/2 = L-1 elementos, y por lo tanto serían nodos legales. Si U-1 fuera par, U=2L-1, así que habría 2L-2 elementos en el nodo. La mitad de este número es L-1, que es el número mínimo de elementos permitidos por nodo.

Un algoritmo mejorado admite una sola pasada por el árbol desde la raíz, hasta el nodo donde la inserción tenga lugar, dividiendo todos los nodos que estén llenos encontrados a su paso. Esto evita el costo de volver a cargar en memoria los nodos padres (lo que puede llegar a ser caro si los nodos se encuentran en una memoria secundaria). Sin embargo, para usar este algoritmo mejorado, debemos ser capaces de enviar un elemento al nodo padre y dividir el resto U-2 elementos en 2 nodos legales, sin añadir un nuevo elemento. Esto requiere que U=2L en lugar de U=L-1, lo que explica por qué algunos libros de texto imponen este requisito en la definición de árboles-B.

Eliminación

La eliminación de un elemento es directa si no se requiere corrección para garantizar sus propiedades. Hay dos estrategias populares para eliminar un nodo de un árbol B.

  • localizar y eliminar el elemento, y luego corregir, o
  • hacer una única pasada de arriba abajo por el árbol, pero cada vez que se visita un nodo, reestructurar el árbol para que cuando se encuentre el elemento a ser borrado, pueda eliminarse sin necesidad de continuar reestructurando

Se pueden dar dos problemas al eliminar elementos. Primero, el elemento puede ser un separador de un nodo interno. Segundo, puede suceder que al borrar el elemento número de elementos del nodo quede debajo de la cota mínima. Estos problemas se tratan a continuación en orden.

Eliminación en un nodo hoja

  • Busque el valor a eliminar.
  • Si el valor se encuentra en un nodo hoja, se elimina directamente la clave, posiblemente dejándolo con muy pocos elementos; por lo que se requerirán cambios adicionales en el árbol.
eliminar clave 20 de un nodo interno.

Eliminación en un nodo interno

(recursivamente) del nuevo nodillo.

En el segundo caso, uno de los dos nodos hijos tienen un número de elementos mayor que el mínimo. Entonces izquierdo o el menor elemento del nuevo separador.

  • Como se ha eliminado un elemento de un nodo hoja, se trata este caso de manera equivalente.

Rebalanceo después de la eliminación

Si al eliminar un elemento de un nodo hoja el nodo se ha quedado con menos elementos que el mínimo permitido, algunos elementos se deben redistribuir. En algunos casos el cambio lleva la deficiencia al nodo padre, y la redistribución se debe aplicar iterativamente hacia arriba del árbol, quizá incluso hasta a la raíz. Dado que la cota mínima en el número de elementos no se aplica a la raíz, el problema desaparece cuando llega a esta.

Construcción Inicial

En aplicaciones, es frecuentemente útil construir un árbol-B para representar un gran número de datos existentes y después actualizarlo de forma creciente usando operaciones estándar de los árboles-B. En este caso, el modo más eficiente para construir el árbol-B inicial no sería insertar todos los elementos en el conjunto inicial sucesivamente, sino construir el conjunto inicial de nodos hoja directamente desde la entrada, y después construir los nodos internos a partir de este conjunto. Inicialmente, todas las hojas excepto la última tienen un elemento más, el cual será utilizado para construir los nodos internos. Por ejemplo, si los nodos hoja tienen un tamaño máximo de 4 y el conjunto inicial es de enteros desde el 1 al 24, tenemos que construir inicialmente 5 nodos hoja conteniendo 5 valores cada uno (excepto el último que contiene 4):

1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24

Construiremos el siguiente nivel hacia arriba desde las hojas tomando el último elemento de cada hoja excepto el último. De nuevo, cada nodo excepto el último contendrá un valor más. En el ejemplo, es supuesto que los nodos internos contienen como mucho 2 valores (por lo que pueden tener 3 hijos). Luego el siguiente nivel de nodos internos nos quedaría de la siguiente manera:

5 10 15
20
1 2 3 4
6 7 8 9
11 12 13 14
16 17 18 19
21 22 23 24

Este proceso se continuará hasta que alcancemos un nivel con un solo nodo y no está sobrecargado. En nuestro ejemplo solo nos quedaría el nivel de la raíz:

15
5 10
20
1 2 3 4
6 7 8 9
11 12 13 14
16 17 18 19
21 22 23 24

Notas

Cada nodo tendrá siempre entre L y U hijos incluidos con una excepción: El nodo raíz debe tener entre 2 y U hijos. En otras palabras, la raíz está exenta de la restricción del límite inferior. Esto permite al árbol sostener un pequeño número de elementos. Un nodo raíz con un solo hijo no tendría sentido, ya que podríamos añadírselo a la raíz. Un nodo raíz sin hijos es también innecesario, ya que un árbol sin hijos se suele representar sin raíz.

Multi-modo:combinar y dividir

Es posible modificar el algoritmo anterior, cuando tratamos de encontrar más elementos para un nodo al que le faltan, examinamos a los hermanos, y si alguno tiene más del valor mínimo de números, reordenamos los valores de los hermanos de un extremo a otro para rellenar al mínimo el nodo al que le faltan. De la misma manera, cuando un nodo se divide, los elementos extra pueden ser movidos cerca, por ejemplo a hermanos menos poblados; o la división puede dar lugar a un número de hermanos, redistribuyendo los elementos entre ellos en lugar de dividir un nodo.

En la práctica, el uso más común de los árboles-B implica mantener los nodos una memoria secundaria, donde será lento acceder a un nodo que no haya sido usado con anterioridad. Utilizando solo divisiones y combinaciones, disminuimos el número de nodos que se necesitan para la mayoría de situaciones comunes, pero podrían ser útiles en otras.

Relación entre U y L

Es casi universal el dividir nodos eligiendo un elemento medio y creando dos nuevos nodos. Esto limita la relación entre L y U. Si intentamos insertar un elemento dentro de un nodo con U elementos, esto conlleva una redistribución de U elementos. Uno de estos, el intermedio, será trasladado al nodo padre, y los restantes serán divididos equitativamente, en la medida de lo posible, entre los dos nuevos nodos.

Por ejemplo, en un árbol-B 2-3, añadiendo un elemento a un nodo que ya contiene 3 hijos, y por consiguiente 2 valores separadores (padres), da lugar a 3 valores (los dos separadores y el nuevo valor). El valor medio se convierte en el nuevo separador (padre), y los otros valores se hacen independientes y con 2 hijos. Por lo general, si U es impar, cada uno de los nuevos nodos tienen (U+2)/2 hijos. Si U es par, unos tiene U/2 hijos y el otro U/2+1.

Si un nodo está completo y se divide exactamente en 2 nodos, L debe tener un tamaño permitido, lo suficiente pequeño, una vez q el nodo ha sido divido. También es posible dividir nodos completos en más de dos nodos nuevos. Eligiendo dividir un nodo en más de 2 nodos nuevos requerirá un valor más pequeño para L para el mismo valor de U. Como L se hace más pequeño, esto permite que haya más espacio sin usar en los nodos. Esto disminuirá la frecuencia de división de nodos, pero de la misma manera aumentará la cantidad de memoria que se necesita para almacenar el mismo número de valores, y el número de nodos que tienen que ser examinados para una operación particular.

Acceso concurrente

Lehman y Yao nos mostraron que, uniendo los bloques de árboles en cada nivel con un puntero al siguiente nivel (en una estructura de árbol donde los permisos, de lectura de los bloques del árbol, se pueden evitar porque el árbol desciende desde la raíz hasta las hojas por búsqueda e inserción), los permisos de escritura solo se requieren cuando un bloque del árbol es modificado. Minimizar los permisos a un nodo colgante simple solo durante su modificación, ayuda a maximizar el acceso concurrente por múltiples usuarios. Este dato se tiene en cuenta en bases de datos como, por ejemplo, ISAM (Métodos Indexados de Acceso Secuencial).

Véase también

Referencias

  1. $Cormen, Thomas; Leiserson, Charles; Rivest, Ronald; Stein, Clifford (2001), Introduction to Algorithms, MIT Press and McGraw-Hill, pp. 434-454, ISBN 0-262-03293-7 .

Enlaces externos

Read other articles:

Koridor 13 TransjakartaCiledug - Tegal MampangBus Mercedes-Benz yang melayani koridor 13Halte CSW 1 merupakan salah satu halte yang melayani koridor 13InfoPemilikPT. Transportasi JakartaWilayahKota TangerangJakarta SelatanJenisElevated Bus Rapid TransitJumlah stasiun15 halteOperasiDimulai13 Agustus 2017Operator PT. Transportasi Jakarta (prasarana, armada, pramudi dan pramusapa) Mayasari Bakti (armada dan pramudi) Bianglala Metropolitan (armada dan pramudi) TeknisPanjang sistem14.18 kmKecepata...

 

 

Australian soccer player and manager Ante Milicic Personal informationFull name Anthony Josip MilicicDate of birth (1974-04-04) 4 April 1974 (age 49)[1]Place of birth Sydney, New South Wales, AustraliaHeight 1.81 m (5 ft 11+1⁄2 in)Position(s) ForwardYouth career Sydney United Hurstville ZFC1990–1991 AISSenior career*Years Team Apps (Gls)1992–1993 Sydney United 6 (1)1993 Canberra Deakin 13 (6)1993–1997 Sydney United 114 (39)1997–1999 NAC Breda 47 (10)1...

 

 

North American blizzard in 2017 ‹ The template Infobox storm is being considered for deletion. › March 2017 North American blizzardCategory 4 Crippling (RSI/NOAA: 10.66)The extratropical cyclone responsible for the blizzard near peak intensity at 18:30 UTC (2:30 p.m. EDT) on March 14, over the U.S. East Coast TypeExtratropical cycloneWinter stormNor'easterBomb cycloneIce stormBlizzardFormedMarch 9, 2017 (2017-03-09)DissipatedMarch 18,...

Triangulasi oleh Abbé Réginald Outhier untuk area Britania dan Normania Triangulasi (pengukuran) atau penyegitigaan merupakan proses penentuan lokasi suatu titik dengan mengukur sudut yang terbentuk atas sudut dalam segitiga, berdasarkan data titik-titik tetap yang diketahui di kedua ujung segitiga yang disebut dengan titik kontrol. Menggunakan metode trigonometri dan data hasil pengukuran panjang dari salah satu sisi segitiga tersebut, maka jarak lain dalam segitiga dapat diketahui menggun...

 

 

Fig 1. GERAM Framework: This set of components is identified in the first image and briefly described in the following. Starting from defined concepts to be used in enterprise integration (GERA), GERAM distinguishes between the methodologies for enterprise integration (GEEM) and the languages used to describe structure, contents and behaviour of the enterprise (GEML). Generalised Enterprise Reference Architecture and Methodology (GERAM) is a generalised enterprise architecture framework for e...

 

 

Not to be confused with St. Joseph's Church in Greenwich Village, San Giuseppe's Church (New York City), or St. Joseph of the Holy Family's Church (New York City) in Manhattan. Building in New York City, United StatesSt. Joseph's ChapelGeneral informationTown or cityNew York CityCountryUnited StatesClientRoman Catholic Archdiocese of New YorkWebsiteSt. Joseph's Chapel, Manhattan St. Joseph's Chapel was a mission parish of St. Peter's Church, the oldest Catholic parish in New York State. Esta...

B

  此條目介紹的是拉丁字母中的第2个字母。关于其他用法,请见「B (消歧义)」。   提示:此条目页的主题不是希腊字母Β、西里尔字母В、Б、Ъ、Ь或德语字母ẞ、ß。 BB b(见下)用法書寫系統拉丁字母英文字母ISO基本拉丁字母(英语:ISO basic Latin alphabet)类型全音素文字相关所属語言拉丁语读音方法 [b][p][ɓ](适应变体)Unicode编码U+0042, U+0062字母顺位2数值 2歷史發...

 

 

British-Australian quantum physicist (born 1967) Michelle SimmonsAO FRS FAA FRSN FTSEMichelle Simmons at the Royal Society admissions day in London, July 2018BornMichelle Yvonne Simmons (1967-07-14) 14 July 1967 (age 56)London, United KingdomAlma materDurham University (PhD)SpouseThomas BarlowChildren1 daughter; 2 sonsAwards Pawsey Medal (2005) Thomas Ranken Lyle Medal (2015) Eureka Prize (2015) Feynman Prize in Nanotechnology (2015) L'Oréal-UNESCO Awards for Women ...

 

 

Southern Rhodesia in World War II Main article: Military history of the British Commonwealth in the Second World War Part of a series on the History of Zimbabwe Ancient history Leopard's Kopje c. 900 – c. 1075 Mapungubwe Kingdom c. 1075 – c. 1220 Zimbabwe Kingdom c. 1220 – c. 1450 Butua Kingdom c. 1450–1683 Mutapa Kingdom c. 1450–1760 White settlement pre-1923 Rozvi Empire c. 1684–1834 Mthwakazi 1823-1894 Rudd Co...

Strada statale 204 OrtanaDenominazioni successiveStrada provinciale 151 Ortana Strada regionale 204 Ortana LocalizzazioneStato Italia Regioni Lazio Umbria Province Viterbo Terni DatiClassificazionestrada statale InizioViterbo Fineex SS 3 ter presso Narni Lunghezza43,760[1][2] km Provvedimento di istituzioneD.M. 16/11/1959 - G.U. 41 del 18/02/1960[3] GestoreTratte ANAS: nessuna (dal 2001 la gestione del tratto umbro è passata alla Regione Umbri...

 

 

Americans of Kenyan birth or descent Kenyan AmericansWamarekani wa KenyaTotal populationestimated 92,638[1]Regions with significant populationsLos Angeles, San Diego, San Francisco Bay Area, Washington, D.C., Boston, Seattle, New York, Minneapolis. Maryland, North Carolina, Atlanta, Philadelphia and Texas, Southern United States [2]LanguagesSwahili, English (Kenyan dialect)ReligionRoman Catholicism , Protestantism and IslamRelated ethnic groups Luo Ugandan Americans Tanzanian ...

 

 

Baseball pitch An animated diagram of a cutter In baseball, a cut fastball or cutter is a type of fastball that breaks toward the pitcher's glove-hand side, as it reaches home plate.[1] This pitch is somewhere between a slider and a four-seam fastball, as it is usually thrown faster than a slider but with more movement than a typical fastball.[1] Some pitchers use a cutter to prevent hitters from expecting their regular fastballs. A common technique for throwing a cutter is to...

泰国陆军元帅他侬·吉滴卡宗ถนอม กิตติขจรPChW SR MPCh MWM第10任泰國總理任期1963年12月9日—1973年10月14日君主拉玛九世前任沙立·他那叻元帥继任訕耶·探瑪塞任期1958年1月1日—1958年10月20日君主拉玛九世前任乃朴·沙拉信继任沙立·他那叻元帥第32任泰國國防部長任期1957年9月23日—1973年10月14日前任鑾披汶·頌堪继任他威·尊拉塞(英语:Dawee Chullasapya) 个人资料出...

 

 

Kingdom of Altava578–708The Kingdom of Altava (1) and other romanized berber kingdoms of the early sixth century.StatusRump state of the Mauro-Roman KingdomCapitalAltavaCommon languagesBerber, African Romance LatinReligion ChristianityGovernmentMonarchyKing • 578-670s (Unknown)• 670s Sekerdid• 680-690 Caecilius Historical eraMedieval• Collapse of the Mauro-Roman Kingdom 578• Annexed by Umayyad Caliphate 708 Preceded by Succeeded by Mauro-Roman Ki...

 

 

Gubernatorial election in Washington state For related races, see 1889 United States gubernatorial elections. 1889 Washington gubernatorial election October 1, 1889 1892 →   Nominee Elisha P. Ferry Eugene Semple Party Republican Democratic Popular vote 33,711 24,732 Percentage 57.7% 42.3% County resultsFerry:      50–60%      60–70%      70–80%Semple:      50–60% &#...

Central Public Sector Undertaking Balmer LawrieBalmer Lawrie headquarters in KolkataCompany typePublic Sector UndertakingTraded asBSE: 523319NSE: BALMLAWRIEIndustrySteelLubricantsTravelLogisticsFounded(1867; 157 years ago (1867)) in Calcutta, British IndiaFounderStephen George BalmerAlexander LawrieHeadquartersKolkata, IndiaKey peopleAdika Ratna Sekhar (Chairman & Managing Director)OwnerGovernment of IndiaParentMinistry of Petroleum and Natural Gas, Government ...

 

 

Dewan Perwakilan Rakyat DaerahKabupaten Tana TidungDewan Perwakilan RakyatKabupaten Tana Tidung2019-2024JenisJenisUnikameral Jangka waktu5 tahunSejarahSesi baru dimulai20 Agustus 2019PimpinanKetuaJamhari (PAN) sejak 15 Januari 2021 Wakil Ketua ISamoel (Hanura) sejak 15 Januari 2021 Wakil Ketua IIYapur Alatas (PDI-P) sejak 30 September 2019 KomposisiAnggota20Partai & kursi  PDI-P (2)   NasDem (2)   PKB (2)   Hanura (3)   Demokra...

 

 

2023 Ecuadorian general election ← 2021 20 August 2023 (first round)15 October 2023 (second round) 2025 → Presidential election   Candidate Daniel Noboa Luisa González Party ADN RC Running mate Verónica Abad Rojas Andrés Arauz Popular vote 5,251,695 4,880,525 Percentage 51.83% 48.17% First round results by province Second round results by province President before election Guillermo Lasso CREO Elected President Daniel Noboa ADN Politics of Ecuador Cons...

Tretan MuslimLahirAditya Muslim10 Maret 1991 (umur 33)Bangkalan, Jawa Timur, IndonesiaKebangsaanIndonesiaNama lainTretan MuslimAlmamaterUniversitas Muhammadiyah SurabayaPekerjaanPelawak tunggalpenyiniaraktorpenyiar radioTahun aktif2013—sekarangSuami/istriRinda Rizqi Viani Permatasari ​ ​(m. 2019)​Anak1 Aditya Muslim, A.Md.Kep.[1][2][3] (lahir 10 Maret 1991), dikenal sebagai Tretan Muslim, merupakan seorang pelawak tu...

 

 

American politician Gomer Griffith SmithMember of the U.S. House of Representativesfrom Oklahoma's 5th districtIn officeDecember 10, 1937 – January 3, 1939Preceded byRobert P. HillSucceeded byMike Monroney Personal detailsBornJuly 11, 1896 (1896-07-11)Jackson County, MissouriDiedMay 26, 1953 (1953-05-27) (aged 56)Oklahoma City, OklahomaCitizenship United StatesPolitical partyDemocraticSpouseHazel Mae Mizner SmithAlma materRockingham Academy, Kansas C...