Many moons ago when I first dabbled in pathfinding algorithms I used the following site to help me to first understand the basic fundamentals of how a simple pathfinder is meant to work, and what it's trying to achieve. Here is an example for A*.
The A* algorithm is quite popular and suitable for most pathfinding needs in gaming. A* will efficiently navigate just about any node graph when provided with a suitable rule set for finding neighbours for each node.
The question you need to ask yourself is whether or not you actually want to implement your own pathfinder from scratch; or do you instead actually want to create a game. If you're actually leaning towards the latter then there is no point reinventing the wheel and you should instead just cannibalize an existing C# pathfinder for Unity, or just use the inbuilt Unity Pathfinder which should be sufficient and easy to use for most Unity games.
Additionally this Unity plugin is also quite popular and very easy to use.
Pathfinding is a fairly complex and can be quite a deep rabbit-hole. It'll be very time consuming for you to learn, create, fix, refine and then optimize your own pathfinder - especially when others have already spent the time doing the above tasks at length(and probably doing a much better job than you! :) )
Anyway, the whole point of Unity in my opinion is to help you to bypass the need to develop your own game engine and having to write your own systems from scratch. It's done all that work so that you can just jump straight into developing games.