jcsanchez1 Ответов: 0

B* дерево идей для реализации


Я пытаюсь создать структуру данных b* tree с помощью списка.

Список<список<узел> & gt;
Список<список<Объект>>
Я не совсем уверен, что в первом случае я просто получу 2 уровня дерева, но в этом случае дерево будет глубже? Я думаю, что во втором случае это больше соответствует моим потребностям, потому что я могу использовать список в качестве объекта. Я читал на форуме, что использование словаря лучше подходит для древовидной структуры. Но я не уверен, что смогу создать словарь словаря.

Список<<список<<Объект>> списки;

Словарь и Л;int, словарь и Л;int, объект&ГТ;&ГТ; сайт dicionario;

Я новичок в темах структуры данных и библиотеке универсальных коллекций коллекций. Какой из них более функциональный и простой в использовании список или словари? кстати, мой родной язык-не английский, пожалуйста, не грубите.
Если у вас есть другие идеи, пожалуйста, не стесняйтесь предоставить их мне

Что я уже пробовал:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ArbolB
{
    public class pagina
    {
        private int nodo;
        private List<List<int>> elementos;
        private List<List<Object>> listas;
        Dictionary<int, Dictionary<int, Object>> dicionario;
        private List<int> inicial;
        private List<int> final;
        public int Nodo
        {
            get;
            set;
        }
        public List<List<int>> Elementos
        {
            set
            {
                elementos = new List<List<int>>();
            }
            get
            {
                return elementos;
            }
        }

        public pagina()
        {

        }
        public pagina(int numero)
        {
            CrearRaiz(numero);
    
            
        }
        public void AgregarElmento(int numero)
        {
            if(Elementos == null)
            {
                CrearRaiz(numero);
            }
            else
            {
                Elementos[0].Add(numero);
            }
            
        }
        private void CrearRaiz(int numero)
        {
            List<int> raiz = new List<int>();
            raiz.Add(numero);
            Elementos = Elementos;
            Elementos.Add(raiz);
        }
    }
}

CHill60

"Я не уверен, что смогу создать словарь из словаря" - да, вы можете. Словарь-это такой же объект, как и любой другой, а словарь-это набор объектов, поэтому словарь словарей возможен.
Возможно, эта статья покажется вам интересной: Основы C#/.NET: выбор правильного класса коллекции[^]

0 Ответов