当前位置:网站首页>Data dictionary in C #
Data dictionary in C #
2022-07-06 10:58:00 【Dotnet cross platform】
Preface
Surfing the Internet as usual this morning , I saw an interview question chatting in the wechat group of maijiage , It's interesting , Here is a brief share of the conclusions Dictionary Dictionaries .
Yes 50w individual int Type of number , Now we need to judge whether there are duplicate numbers , Please briefly explain .
If this topic let me do , The first feeling may be directed to two for loop , Simply make a judgment and solve . But I saw the discussion of several big guys , I found that my knowledge is shallow .
Is this question about the application of business code cycle ? Definitely not .
We know , In verifying a piece of code or a program algorithm, the perfect indicators are space complexity and time complexity . Judge by these two indicators .
Spatial complexity :
It refers to the execution of an algorithm program , How much storage capacity is temporarily occupied per unit time . use S(n)=O(f(n)) To express .
Time complexity :
It refers to the execution of an algorithm program , How much time will it take .
In general , The number of times the basic operations are repeated in the algorithm is the scale of the problem n A function of , use T(n) Express , If there is an auxiliary function f(n), Properly n Approaching infinity ,T(n)/f(n) The limit value of is a constant not equal to zero , said f(n) yes T(n) Functions of the same order of magnitude of , Write it down as T(n)=O(f(n)), be called O(f(n)) Time complexity of the algorithm .
For example, the time complexity of insertion sorting is O(n^2), The space complexity is O(1).
The advantages and disadvantages of an algorithm are mainly measured from two aspects: the execution time of the algorithm and the required storage space .
During the discussion in the Group , There is an array array, Key value pair , And data dictionary Dictionary( A key value pair ). Finally, I feel like using Dictionary Store this 50w individual int Data of type , Use it key perhaps value To determine if there are duplicate values .
Now that I see this , Today we will simply review Dictionary, See what charm it has .
Dictionary<TKey,TValue> Dictionaries
according to MSDN Records on , Say it is a set of keys and values . Provide a set of keys to a set of values mapping . Each addition to the dictionary contains a value and its associated key . The speed of retrieving values using its keys very fast , near O(1).
Dictionary<TKey,TValue> This class is implemented as a hash table , The speed of retrieval depends on the quality of the hash algorithm for the specified type TKey.
Other features are briefly summarized as follows
Must contain a namespace System.Collection.Generic
Dictionary Every element in it is a key value pair
The key must be unique , The value does not need to be unique
Keys and values can be of any type
The time complexity of reading a value through a key is close to O(1), Search speed is very fast , than list Wait a lot faster
The partial order between key value pairs can not be defined
You can search by key value 、 Insert 、 Delete a key value pair , It is very troublesome to implement these with arrays

Here is about Dictionary Some of CRUD operation .
Definition dictionary 、 Add key value 、 Value 、 Change value 、 Traverse key、 Traverse value、 Remove elements 、 Empty all elements
// Definition
static Dictionary<int, string> ahuiInfo = new Dictionary<int, string>();
static void Main(string[] args)
{
// Add key value
ahuiInfo.Add(1," A Hui ");
ahuiInfo.Add(2, " Arabinase ");
ahuiInfo[2] = " Al I "
// Value
var name=ahuiInfo[0].ToString();
Console.WriteLine(""+name
// Modified value
ahuiInfo[0] = " aunt ";
Console.WriteLine("" + ahuiInfo[0].ToString()
// Traverse key and value
foreach (var key in ahuiInfo.Keys)
{
Console.WriteLine(""+key.ToString());
foreach (var value in ahuiInfo.Values)
{
Console.WriteLine(" "+value.ToString());
// Ergodic dictionary
foreach(KeyValuePair<int ,string> kvp in ahuiInfo)
{
Console.WriteLine("key="+kvp.Key+",value="+kvp.Value);
// Remove elements
ahuiInfo.Remove(0
// Judge whether the key exists
if (ahuiInfo.ContainsKey(0))
{
Console.WriteLine("true");
}
else
{
Console.WriteLine("false");
}
}
}
remarks
Life is short , I don't want to pursue what I can't see , I just want to catch what I can see .
Originality is not easy. , Pay attention .
I am a A Hui , Thank you for reading , If it helps you , Please like it 、 forward thank you .
边栏推荐
- CSDN问答模块标题推荐任务(二) —— 效果优化
- Navicat 導出錶生成PDM文件
- The virtual machine Ping is connected to the host, and the host Ping is not connected to the virtual machine
- C language string function summary
- Solve the problem that XML, YML and properties file configurations cannot be scanned
- Ansible实战系列二 _ Playbook入门
- Invalid global search in idea/pychar, etc. (win10)
- Discriminant model: a discriminant model creation framework log linear model
- MySQL18-MySQL8其它新特性
- A trip to Macao - > see the world from a non line city to Macao
猜你喜欢
A trip to Macao - > see the world from a non line city to Macao
Just remember Balabala
Idea import / export settings file
CSDN问答标签技能树(五) —— 云原生技能树
解决:log4j:WARN Please initialize the log4j system properly.
How to find the number of daffodils with simple and rough methods in C language
Swagger, Yapi interface management service_ SE
Bytetrack: multi object tracking by associating every detection box paper reading notes ()
Mysql21 - gestion des utilisateurs et des droits
Mysql23 storage engine
随机推荐
Just remember Balabala
解决:log4j:WARN Please initialize the log4j system properly.
虚拟机Ping通主机,主机Ping不通虚拟机
C language string function summary
1. Mx6u learning notes (VII): bare metal development (4) -- master frequency and clock configuration
MySQL33-多版本并发控制
MySQL24-索引的数据结构
Global and Chinese market of operational amplifier 2022-2028: Research Report on technology, participants, trends, market size and share
Mysql27 - Optimisation des index et des requêtes
[leectode 2022.2.13] maximum number of "balloons"
Ansible practical Series II_ Getting started with Playbook
[recommended by bloggers] asp Net WebService background data API JSON (with source code)
Navicat 导出表生成PDM文件
导入 SQL 时出现 Invalid default value for ‘create_time‘ 报错解决方法
[ahoi2009]chess Chinese chess - combination number optimization shape pressure DP
NPM an error NPM err code enoent NPM err syscall open
API learning of OpenGL (2004) gl_ TEXTURE_ MIN_ FILTER GL_ TEXTURE_ MAG_ FILTER
Adaptive Bezier curve network for real-time end-to-end text recognition
MySQL20-MySQL的数据目录
MNIST implementation using pytoch in jupyter notebook