Giter Site home page Giter Site logo

myhololens / datastructures-and-algorithms-using-four-language Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nange/algorithms-in-go-rust

0.0 1.0 0.0 40 KB

四种语言(Go,Javascript,Java,C)实现常用数据结构和算法。

License: MIT License

C 18.56% Go 46.06% Java 15.42% JavaScript 19.96%

datastructures-and-algorithms-using-four-language's Introduction

DataStructures-And-Algorithms-With-Four-Language

四种语言(Go,Javascript,Java,C)实现常用数据结构和算法。

所有代码都经过具体测试运行,具体环境为:

  • 操作系统:ubuntu16.04 64位
  • Go语言版本: Go 1.8.3
  • Javascript执行环境: Nodejs 6.11.3
  • Java版本: Java 1.8.0_25
  • C语言编译器: gcc 4.8.2

目录

  1. 列表 (完成)
  2. (完成)
  3. 队列 (完成)
  4. 链表 (golang,javascript 完成...)
  5. 字典 (golang 完成)
  6. 二叉树和二叉查找树 (golang 完成)
  7. 图和图算法 (待处理...)
  8. 排序算法 (待处理...)
  9. 检索算法 (待处理...)

列表

列表是非常常见的一种数据结构,比如日常所见的购物清单、待办事项等等。 它提供了对列表数据的一系列操作,比如:添加、删除、修改、遍历等功能。 当我们把这样的具体问题抽象成用列表去解决的时候,往往可以简化问题。

具体实现: GoJavascriptJavaC

栈也是一种非常常见的数据结构,在计算机的世界里,在计算机的世界里, 栈是一种很高效的数据结构,因为数据只能在栈顶添加或者删除. 因此栈也被称为一种后入先出的数据结构.栈的使用遍布程序语言实现的方方面面, 从表达式求值到函数调用.

具体实现: GoJavascriptJavaC

队列

队列是一种前进先出的数据结构. 在日常生活中非常常见:比如去银行排队办理业务. 在计算机中也极其常见, 很多情况下,当有大量任务需要完成时, 就会把任务暂时加入到 任务队列中, 执行一个删除一个,继续执行下一个任务.

具体实现: GoJavascriptJavaC

链表

有时候数组不一定是最佳的组织数据的数据结构,因为数组通常都是固定大小的,当数据填满时, 再加入新元素就变得很困难。在数组中,添加和删除元素也很麻烦,因为要移动数组中的其他元素。 因此如果需要频繁的添加或者删除元素,可以考虑使用链表组织数据。

具体实现: GoJavascriptJavaC

字典

字典类型(map),是一种KV结构,通过key能够找到对应的value,map类型的特点是查询非常快(O(1)), 原理是通过一个hash函数能快速的找到对应的key的位置,在实际编程中,map类型几乎无处不在。

具体实现: GoJavascriptJavaC

二叉树和二叉查找(搜索)树

二叉树可以看作是链表的二维扩展,链表的一个节点只有一个next指针,但是二叉树的一个节点可以有两个 next指针(通常被称作left,right),二维扩展后可以解决一维链表的一些问题,比如查找慢等。 二叉查找树可以把查找,添加,删除元素的时间复杂度降到O(logN)。

具体实现: GoJavascriptJavaC

datastructures-and-algorithms-using-four-language's People

Contributors

nange avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.