当前位置:网站首页>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 .
边栏推荐
- Mysql21 - gestion des utilisateurs et des droits
- CSDN question and answer tag skill tree (I) -- Construction of basic framework
- Mysql35 master slave replication
- Ansible实战系列二 _ Playbook入门
- Ansible practical Series III_ Task common commands
- The virtual machine Ping is connected to the host, and the host Ping is not connected to the virtual machine
- CSDN问答标签技能树(二) —— 效果优化
- Mysql33 multi version concurrency control
- Asp access Shaoxing tourism graduation design website
- Generate PDM file from Navicat export table
猜你喜欢
Postman uses scripts to modify the values of environment variables
MySQL24-索引的数据结构
Copie maître - esclave MySQL, séparation lecture - écriture
Mysql35 master slave replication
Mysql28 database design specification
Mysql22 logical architecture
Invalid global search in idea/pychar, etc. (win10)
【博主推荐】C#MVC列表实现增删改查导入导出曲线功能(附源码)
MySQL27-索引优化与查询优化
Mysql27 - Optimisation des index et des requêtes
随机推荐
CSDN问答模块标题推荐任务(一) —— 基本框架的搭建
npm一个错误 npm ERR code ENOENT npm ERR syscall open
Esp8266 at+cipstart= "", "", 8080 error closed ultimate solution
CSDN问答标签技能树(五) —— 云原生技能树
MySQL26-性能分析工具的使用
[Li Kou 387] the first unique character in the string
Case identification based on pytoch pulmonary infection (using RESNET network structure)
Global and Chinese markets of static transfer switches (STS) 2022-2028: Research Report on technology, participants, trends, market size and share
Ansible实战系列一 _ 入门
[recommended by bloggers] C MVC list realizes the function of adding, deleting, modifying, checking, importing and exporting curves (with source code)
MySQL20-MySQL的数据目录
MySQL21-用戶與權限管理
MySQL flush operation
CSDN markdown editor
MySQL31-MySQL事务日志
API learning of OpenGL (2002) smooth flat of glsl
C language advanced pointer Full Version (array pointer, pointer array discrimination, function pointer)
Solve the problem that XML, YML and properties file configurations cannot be scanned
frp内网穿透那些事
MySQL22-逻辑架构