目录 | 数据结构与剑指Offer系列推文合集

【目录合集】| 作者 / Edison Zhou

C#刷数据结构+剑指Offer


不知不觉,C#刷剑指Offer的系列推文就结束了,今天就把它们整理成目录合集。此外,考虑到剑指Offer和数据结构的关联,建议没有数据结构基础的童鞋先看看数据结构,再来看剑指Offer,这样效果会比较好。

1数据结构

虽然我们现在使用的各种高级编程语言例如C#,Java等,它们已经为我们实现好了各种数据结构如队列、栈等,但是学习如何从0到1实现这些数据结构却是对开发者的技术理解和实践大有裨益的。因此,我写了一个每天5分钟碎片时间温习数据结构的系列文章,全都都用C#实现的,欢迎阅读。

线性表

(1)线性表基础

(2)顺序表

(3)单链表 Part 1

(4)单链表 Part 2

(5)双链表 Part 1

(6)双链表 Part 2

(7)循环链表 Part 1

(8)循环链表 Part 2

(9)约瑟夫问题

栈和队列

(1)栈 Part 1

(2)栈 Part 2

(3)队列 Part 1

(4)队列 Part 2

(5)队列 Part 3

二叉树

(1)二叉树 Part 1

(2)二叉树 Part 2

(3)二叉树 Part 3

(4)二叉树 Part 4

(5)二叉树 Part 5

(1)图 Part 1

(2)图 Part 2

(3)图 Part 3

(4)图 Part 4

(5)图 Part 5

(6)图 Part 6

(7)图 Part 7

(8)图 Part 8

(9)图 Part 9

(10)图 Part 10

查找

(1)查找 Part 1

(2)查找 Part 2

(3)查找 Part 3

(4)查找 Part 4

(5)查找 Part 5

排序

(1)插入类排序

(2)交换类排序

(3)选择类排序

(4)归并类排序

2剑指Offer

学习了数据结构之后,即使我们用最熟悉的开发语言实现了各种数据结构,但仍然会觉得好像不知道在什么时候该用什么数据结构会更有效。此外,现在各大IT公司招聘开发工程师的时候都将数据结构和算法的题目作为了第一轮面试的首选,而《剑指Offer》一书中几十道经典的题目是出镜率最高的。因此,我精选了《剑指Offer》一书中的33道题目,使用了C#实现了这些题目并写了单元测试,欢迎阅读。

(1)二维数组的查找

(2)替换空格

(3)从头到尾打印链表

(4)用两个栈实现队列

(5)重建二叉树

(6)旋转数组的最小数字

(7)斐波那契数列

(8)二进制中1的个数

(9)数值的整数次方

(10)打印1到最大的N位数

(11)在O(1)时间删除链表节点

(12)调整数组顺序使得奇数位于偶数前面

(13)链表的倒数第K个数

(14)反转一个链表

(15)合并两个排序的链表

(16)二叉树的子结构

(17)二叉树的镜像

(18)包含Min函数的栈

(19)栈的压入与弹出序列

(20)从上到下打印二叉树

(21)二叉搜索树的后序遍历序列

(22)二叉树中和为某一值的路径

(23)复杂链表的复制

(24)字符串的排列

(25)最小的K个数

(26)连续子数组的最大和

(27)丑数

(28)第一次只出现一次的字符

(29)两个链表的第一个公共节点

(30)数字在排序数组中出现的次数

(31)二叉树的深度相关题目

(32)字符串的操作相关题目

(33)将字符串转换为数字

3小结

到此为止,针对初级开发者的基础知识系列部分推文就结束了,有了数据结构和算法题目的知识储备,可以帮助你写出较为高效的代码。但如果要进阶到中级开发者,那就还得学会写出较为高质量的代码,这个就需要软件设计的相关知识了,包括设计思想、设计原则以及设计模式(我曾经学习设计模式也总结了一个系列的文章,传送门:设计模式系列文章),这些不是一朝一夕或者短时间内就能正确理解和掌握的。有关技术人的成长,我也建议是一步一脚印,因为在这个架构师课程随手可得的时代,大家都比较浮躁,追求短平快的快餐而忽视了平稳的过渡(我也录制了一个关于技术人成长之路的视频,可以在本文下方找到和观看)。刚好,近期我也在温习敏捷开发、软件设计、后端技术、架构设计、技术管理等方面的相关知识,它们和具体的开发语言的耦合度并没有那么的高,属于我在《技术人的持续成长之路》一文中所提到的“可平滑迁移和复用的知识和技能”,后面我也计划总结一些我的学习总结系列文章分享给大家,欢迎大家持续关注!

最后,如果我的推文对大家有一点点帮助,欢迎大家给我点个“在看”,谢谢!

???? C#刷数据结构源码:https://github.com/EdisonChou/DataStructure.Samples.CSharp

???? C#刷剑指Offer源码:

https://github.com/EdisonChou/EDC.PointToOffer.Samples.CSharp

???? 技术人的持续成长之路-视频

视频配套文字稿:点击这里阅读

- END -


如果本文有用,请点击“在看”或转发朋友圈

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/306169.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql数据库5120_超傻瓜 H3C S5120 限速配置

1出方向限速system-viewinterface GigabitEthernet ?/?/? (?是所要限制的端口号)qos lr outbound cir 数字 (cir是速率的意思,数字是kbps,如果按字节需要x8转换,必须是16的整数倍)出方向配置完毕2入方向限速1.system-viewacl n…

ricky java photos_【Melee】Ricky blog updates and new photos

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼Blog FirstThursday, August 21, 2008Celebrate!Ok, so my computer is finally back in full swing, but sadly, Im missing a couple weeks of updates, which will be slightly complicated, racking my brain to remember, but…

Abp vNext异常处理的缺陷/改造方案

之前吐槽Abp的用户/租户管理模块!今天我又来了,这次我给Abp官方repo提了一个issue。目前Website使用Abp vNext开发,免不了要全局处理异常、提示服务器异常信息。1. Abp官方异常处理Abp项目默认会启动内置的异常处理,默认不将异常信…

java原生的编译软件_Java 转原生平台代码 RoboVM

软件介绍编者注:RoboVM 项目已经关闭,目前有开源替代产品BugVM。RoboVM 编译器可以将 Java 字节码翻译成 ARM 或者 x86 平台上的原生代码,应用可直接在 CPU 上运行,无需其他解释器或者虚拟机。RoboVM 同时包含一个 Java 到 Object…

开源项目葫芦藤:IdentityServer4的实现及其运用

前言本篇文章主要是讲解葫芦藤项目中对IdentityServer的实践使用,为了使您对本篇文章中所讲述的内容有深刻的认识,并且在阅读时避免感到乏味,文中的内容不会涉及太多的基础理论知识,而更多的是采用动手实践的方式进行讲解&#xf…

facade java_Java设计模式之Facade模式

Java设计模式之Facade模式 GOF《设计模式》一书对Facade模式是这样描述的:为子系统中的一组接口提供一个统一接口。Facade模式定义了一个更高层的接口,使子系统更加容易使用。大致意思是说:使用一种比原有方式更简单的办法与系统交互。例如,…

如何在 ASP.NET Core Web API 中以三种方式返回数据

在 ASP.NET Core 中有三种返回 数据 和 HTTP状态码 的方式,最简单的就是直接返回指定的类型实例,如下代码所示:[ApiController][Route("[controller]")]public class WeatherForecastController : ControllerBase{[HttpGet]public …

java io 读取多个对象_Java IO系列(五):读写对象ObjectOutputStream和ObjectInputStream详解...

有必要多看几遍的关于字符和字节,例如文本文件,XML这些都是用字符流来读取和写入。而如RAR,EXE文件,图片等非文本,则用字节流来读取和写入。读写对象,传输对象在Java中很常使用,在javaBean中就经…

Dotnet Core多版本API共存的优雅实现

API升级,新旧版本的API共存,怎么管理呢?一、前言最近,单位APP做了升级,同步的,API也做了升级。升级过程中,出现了一点问题:API升级后,旧API也需要保留,因为有…

java 文件监听器_java7 文件监听器

java7中的文件监听,主要可以监听指定目录下的文件:新建 删除 修改等操作。StandardWatchEventKinds.ENTRY_MODIFY,StandardWatchEventKinds.ENTRY_CREATE,StandardWatchEventKinds.ENTRY_DELETE 这三个事件 被注册到watchService 对象中,之后…

Beetlex之websocket/tls服务压测工具

为了方便压力测试ws服务,Beetlex同样提供相关工具来对ws/wss服务的性能进行测试测试。安装可以访问https://github.com/beetlex-io/TCPBenchmarks 下载最新版本工作,工具可以运行在linux和windows系统,安装完成后通过浏览器访问相关服务进行操…

php判断数组下标,php判断json或者数组格式与给定格式是否一致

开发的时候碰到个问题,我们技术人员规定了录数据的格式,例如:我们的json模板如下:{"sentence":"Martin and Kelvin went to Chengduon holiday. They are ordering in a rest aurant now but cannot read the char…

php 设置excel格式,php 操作excel文件的方法小结

用php生成excel文件的方法,单独就是用的php,注意一下数据的输入方法即可。一、php,不用COM,生成excel文件header("Content-type:application/vnd.ms-excel");header("Content-Disposition:filenametest.xls");echo "…

大学班里80%都去培训班,为什么我没去

背景大四刚开始,各大培训机构就开始到各大高校开始宣传,我们学校也不例外;当时信息与计算科学这专业在我们学校并不景气,有好几次听说:如果我们那届的就职率还不行的话,那很大可能将此专业拿掉;…

织梦手机版list.php,解决织梦一级目录作域名list.php无法跳转到手机站的问题

最近测试了www.doweb8.com/m/list.php?tid1 在手机站访问的时候,无法跳转到手机的模板,终于找到了解决了方法,给大家分享一下修改根目录下的m/list.php文件重新弄的代码, 不区分几级目录,理论是根据你指定的PC&#…

如何在 C# 中使用 Buffer

缓冲区 是内存中的一组字节序列,缓冲 是用来处理落在内存中的数据,.NET 缓冲 指的是处理 非托管内存 中的数据,用 byte[] 来表示。当你想把数据写入到内存或者你想处理非托管内存中的数据,可以使用 .NET 提供的 System.Buffer类&a…

php强制对齐,[强迫症福利] 使用 PHPStorm 对齐数组的键值对

用 php-cs-fixer 自动格式化,一个配置配合 Git 自动格式化,补充楼上。示例 Git Hook忽略前端的代码格式化,修改一下就可以用。#!/bin/bash## check PHP code syntax error and standard with phpcs# https://blog.csdn.net/xsgnzb/article/de…

.NET SDK-Style 项目(Core、Standard、.NET5)中的版本号

.NET SDK-Style 项目(Core、Standard、.NET5)中的版本号独立观察员 2020 年 12 月 24 日之前 .NET Framework 时,项目版本号等信息是存储在 AssemblyInfo.cs 文件中,通过程序集特性进行设置:.NET Core 之后&#xff0c…

ajax php 动态,jQuery+PHP+Ajax实现动态数字统计展示功能

jQueryPHPAjax实现的一款动态数字统计展示实例,本例是在页面上动态展示了当前在线用户数,当然了,你可以应用到其他更多场景中。首先我们在#number放置要统计的数字:当前在线:然后我们要定义一个动画过程,使…

[Stardust]星尘分布式全链路监控

随着业务的发展,微服务系统会变得越来越大,各个服务之间的调用关系也会日趋复杂。一个WebApi请求,后方可能经历多个微服务以及数据库和MQ操作,在这个调用过程中,可能因为某一个服务节点出现延迟或者失败,而…