krahets / hello-algo

《Hello 算法》:动画图解、一键运行的数据结构与算法教程。支持 Python, Java, C++, C, C#, JS, Go, Swift, Rust, Ruby, Kotlin, TS, Dart 代码。简体版和繁体版同步更新,English version ongoing
https://hello-algo.com
Other
93.85k stars 11.88k forks source link

Code Transpilation to multiple progamming languages (Help Wanted) #15

Open krahets opened 1 year ago

krahets commented 1 year ago

[!TIP] We seek help translating the code from one programming language to another. Feel free to contribute in programming languages not listed here, such as PHP, R. Ruby, Kotlin, etc.

Contributing Guideline

Code Reviewers

If you have extensive programming experience and are interested in reviewing code, please reach out via WeChat at krahets-jyd . We dedicate our thanks to all code reviewers on the landing page and of this project.

Language Reviewer
Java @krahets
C++
Python @krahets
Go #222 @Reanon
JavaScript #120 @justin-tse
TypeScript #121 @justin-tse
C# @hpstory
C #425 @Gonglja
Swift @nuomi1
Rust @night-cruise
Ruby @khoaxuantu
Dart @gvenusleo
Kotlin @curtishd
Zig @codingonion
kalaersun commented 1 year ago

I can help translate part of C

krahets commented 1 year ago

I can help translate part of C

Thanks, @kalaersun ! Looking forward to your code.

lkgGitHub commented 1 year ago

I can help translate part of go about "Array and Linked List" and "Sorting"

krahets commented 1 year ago

I can help translate part of go about "Array and Linked List" and "Sorting"

Thanks, @lkgGitHub !

Please get in touch with @Reanon as maybe he is working on the remaining Go codes.

(You can check codes at https://github.com/krahets/hello-algo/tree/master/codes/go compared with .../master/codes/java)

Reanon commented 1 year ago

I can help translate part of go about "Array and Linked List" and "Sorting"

@lkgGitHub, You can do it! Chapter Array/LinkedList or Sorting are available. If you pull request, i will review you golang code. Beside, before you pull request, you should check if other pull request to Golang code. Thank you for participating in Golang Translation😁.

justin-tse commented 1 year ago

I can help translate part of TypeScript

justin-tse commented 1 year ago

I will try to translate the part of Array and Linked List.

justin-tse commented 1 year ago

I think I can translate the remaining part of Chapter Array and LinkedList to JavaScript.

msk397 commented 1 year ago

I can help translate the part of Insertion Sort and Quick Sort to Go

justin-tse commented 1 year ago

I can translate the part of Sorting to TypeScript.

mingXta commented 1 year ago

I can help translate part of C# start with Array.

Cathay-Chen commented 1 year ago

I can help translate part of Go

justin-tse commented 1 year ago

I can translate the Chapter of Tree to TypeScript.

msk397 commented 1 year ago

Can I help translate the Chapter of Hashing using C++, Python and Go ? I find that nobody seems to have done this part

krahets commented 1 year ago

Can I help translate the Chapter of Hashing using C++, Python and Go ? I find that nobody seems to have done this part

Feel free to create a pull request. I will add your ID to the form.

he-weilai commented 1 year ago

请问C语言部分我可以一起进行创作吗?

krahets commented 1 year ago

请问C语言部分我可以一起进行创作吗?

@huawuque404 非常欢迎!请阅读本文 contribution guidelines ,以及可以参考过往 pull request 的提交方式

he-weilai commented 1 year ago

好嘞!🤝

Loner1024 commented 1 year ago

Considers add Rust code example? I want to provide help.

krahets commented 1 year ago

Considers add Rust code example? I want to provide help.

Sure. Feel free to push a PR

Loner1024 commented 1 year ago

Considers add Rust code example? I want to provide help.

Sure. Feel free to push a PR

I will create a new issue for Rust code translation. It helps assign tasks for those who want to participate.

krahets commented 1 year ago

@Loner1024 I've added Rust to the table.

gyt95 commented 1 year ago

The project was forked more than ten days ago and now it is finally here. I want to help translate the JavaScript and TypeScript versions of the "Space Time Tradeoff" section~

十几天前fork了项目现在终于来了,我想帮忙翻译 《权衡时间与空间》一节的 JavaScript 和 TypeScript 两个版本~

msk397 commented 1 year ago

I'm sorry, I clicked the wrong button by mistake🤣

gyt95 commented 1 year ago

I've done "Space Time Tradeoff" section but why the status is still brewing?

krahets commented 1 year ago

I've done "Space Time Tradeoff" section but why the status is still brewing?

My bad, I’ll update it.

a16su commented 1 year ago

我来写python的二叉树部分

krahets commented 1 year ago

@a16su I’ve added your ID to the table.

MolDuM commented 1 year ago

I'd like to join this with the C language. But I haven't seen a folder of C. Is that mean I could start from creating a new folder?

krahets commented 1 year ago

I'd like to join this with the C language. But I haven't seen a folder of C. Is that mean I could start from creating a new folder?

Yes, feel free to create a folder for the C code

danielsss commented 1 year ago

@krahets Thanks for mentioning me here. I've also translated the binary search into Typescript and fixed several doc bugs, but before the next PR, I hope you can review & merge #136 to prevent it from conflicting so.

JoseHung commented 1 year ago

I can help translating the part of linear search and binary search into JavaScript.

danielsss commented 1 year ago

I can translate the binary search into Typescript.

EldersJavas commented 1 year ago

大佬,go还有哪里没翻译?我也来试试

krahets commented 1 year ago

大佬,go还有哪里没翻译?我也来试试

可以看下表格和源代码文件夹哈

nuomi1 commented 1 year ago

This project is very good, can I add Swift sample code to it?

krahets commented 1 year ago

This project is very good, can I add Swift sample code to it?

Yes! Feel free to create a pull request.

guowei-gong commented 1 year ago

oh, I submitted pr without seeing this discussion. Fortunately, no one claimed the array part of golang. I want to complete the code example contribution of the go array part. : - )

L-Super commented 1 year ago

I can do about C part content.

danielsss commented 1 year ago

I can translate the linear search into Typescript.

Gonglja commented 1 year ago

嗨,我可以写 c 部分 linked_list.c✅

longranger2 commented 1 year ago

I want to translate the heap into C++

ZJKung commented 1 year ago

I want to translate the remained part(heap,graph and Basic Operation of Graph) of C#

xiaomao996688 commented 1 year ago

我可以写typescript 和js

WSL0809 commented 1 year ago

哈喽,我可以帮忙写chapter_stack_and_queue 部分中array_stack 和array_queue的 Rust 代码

krahets commented 1 year ago

Hi @gvenusleo @JeffersonHuang ! The Dart codes are almost covering all the sections. I'm wondering added the codes to the HTML documents, which is more accessible to the readers.

Could you please doubly check and test all the Dart codes and make sure it consistent with the Java codes(or Python codes)? Thanks!

gvenusleo commented 1 year ago

Hi @gvenusleo @JeffersonHuang ! The Dart codes are almost covering all the sections. I'm wondering added the codes to the HTML documents, which is more accessible to the readers.

Could you please doubly check and test all the Dart codes and make sure it consistent with the Java codes(or Python codes)? Thanks!

I've checked all the Dart codes and modified some of them to match the Java output. Please see #522 .

By the way, due to the built-in mechanisms of the language and random numbers, some of the output may not be exactly the same.

JeffersonHuang commented 1 year ago

Thank you very much.

krahets commented 1 year ago

Thanks. @gvenusleo ! I've added the Dart codes to the documents in #529 .

  1. Could you help test the modified dart code file array.dart and linked_list.dart ?
  2. Could you fill in all the empty code blocks such as L159 of linked_list.dart ?
gvenusleo commented 1 year ago

Thanks. @gvenusleo ! I've added the Dart codes to the documents in #529 .

  1. Could you help test the modified dart code file array.dart and linked_list.dart ?
  2. Could you fill in all the empty code blocks such as L159 of linked_list.dart ?

Hi, @krahets ! I have modified some Dart codes including array.dart and linked_list.dart , and then filled in the empty code bloacks in the documents. Please see #543 .