elhor maneira de armazenar uma matriz esparsa no .N

Temos um aplicativo que armazena uma matriz esparsa. Essa matriz possui entradas que existem principalmente em torno da diagonal principal da matriz. Eu queria saber se havia algum algoritmo eficiente (ou bibliotecas existentes) que possam lidar com matrizes esparsas desse tipo? De preferência, essa seria uma implementação genérica em que cada entrada da matriz pode ser do tipo definido pelo usuári

Editar em resposta a uma pergunta / resposta:

Quando digo principalmente em torno da diagonal principal, quero dizer que as características da maioria das matrizes serão que a maioria das entradas está agrupada em cluster da diagonal principal, mas pode haver zeros próximos à diagonal e valores diferentes de zero da diagonal. Quero algo eficiente para a maioria dos casos aqu

O que eu vou usar para isso? Eu preciso ter acesso eficiente a todos os valores em uma linha ou a todos os valores em uma coluna. Os valores armazenados seriam valores booleanos. Um exemplo seria:

Para todos os valores verdadeiros em uma linha, para cada coluna, um true aparece no conjunto de todas as entradas da coluna para algoPara todos os valores falsos seguidos, defina a entrada como algo

Tudo isso foi feito com listas vinculadas anteriormente, mas foi muito confuso de implementar. Eu esperava que, com uma matriz esparsa, eu pudesse melhorar o algoritmo, mas encontrar o tipo 'certo' de algoritmo de matriz esparsa se mostrou difíci

p.s. Obrigado pelas respostas até agora

questionAnswers(6)

yourAnswerToTheQuestion