当前位置:网站首页>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 .

边栏推荐
- Emotional classification of 1.6 million comments on LSTM based on pytoch
- February 13, 2022-2-climbing stairs
- CSDN-NLP:基于技能树和弱监督学习的博文难度等级分类 (一)
- [Thesis Writing] how to write function description of jsp online examination system
- Solve the problem that XML, YML and properties file configurations cannot be scanned
- MySQL21-用户与权限管理
- Mysql33 multi version concurrency control
- Mysql21 user and permission management
- Ansible实战系列三 _ task常用命令
- [reading notes] rewards efficient and privacy preserving federated deep learning
猜你喜欢

CSDN博文摘要(一) —— 一个简单的初版实现
![[Li Kou 387] the first unique character in the string](/img/2d/f2c99549cac86c08efbfbd8ba76427.jpg)
[Li Kou 387] the first unique character in the string

MySQL29-数据库其它调优策略

CSDN问答模块标题推荐任务(一) —— 基本框架的搭建

CSDN question and answer module Title Recommendation task (II) -- effect optimization

MySQL21-用戶與權限管理

Water and rain condition monitoring reservoir water and rain condition online monitoring

Case identification based on pytoch pulmonary infection (using RESNET network structure)

Unicode decodeerror: 'UTF-8' codec can't decode byte 0xd0 in position 0 successfully resolved

Mysql21 user and permission management
随机推荐
Installation and use of MySQL under MySQL 19 Linux
Mysql 其他主机无法连接本地数据库
[recommended by bloggers] C MVC list realizes the function of adding, deleting, modifying, checking, importing and exporting curves (with source code)
Database middleware_ MYCAT summary
@controller,@service,@repository,@component区别
MySQL30-事务基础知识
[reading notes] rewards efficient and privacy preserving federated deep learning
Are you monitored by the company for sending resumes and logging in to job search websites? Deeply convinced that the product of "behavior awareness system ba" has not been retrieved on the official w
Install MySQL for Ubuntu 20.04
La table d'exportation Navicat génère un fichier PDM
Ansible实战系列二 _ Playbook入门
February 13, 2022-3-middle order traversal of binary tree
CSDN问答模块标题推荐任务(二) —— 效果优化
SSM整合笔记通俗易懂版
Windchill configure remote Oracle database connection
[Thesis Writing] how to write function description of jsp online examination system
[leectode 2022.2.13] maximum number of "balloons"
C language advanced pointer Full Version (array pointer, pointer array discrimination, function pointer)
CSDN博文摘要(一) —— 一个简单的初版实现
Asp access Shaoxing tourism graduation design website