Software Defined networks do not have a device explicitly named as router. The Network is generally made of switches and controllers. However, can sdn networks achieve functionality of routing ?
Sdn uses controllers.
In a very broad sense controllers work on the principle of match criteria and corresponding action . The controller uses the match criteria to instruct the switch what it should do with the packet. Hence switches in sdn are sometimes referred as dumb switches.
The match criteria can be destination mac - so it behaves as a switch
It can be destination IP . so it acts as a router. It can be source MAC or source IP . which is a part of policy based routing .
Or it can be any header field from l2-l5.
It can even determine the action by using the application layer data
Hence a controller in sdn can be a router but it's capable of much more than that .
But you wont find the word router used much in the context of sdn
Hope it helps
To answer the second question .
Sdn gives you the control of packets forwarding.
So using controller APIs you can implement practically any algorithm which may be the exact routing algorithm we use now like ospf , a modification of them or a new concept altogether that suits your Network.